¿Hay una manera automática de estar al tanto de los cambios de ContentSize en una UITableView/UIScrollView?UITableView/UIScrollVer cómo saber automáticamente cuándo cambia ContentSize?
Respuesta
La respuesta es realmente simple usando KVO (Key Value Observation);
- (id)initWithFrame:(CGRect)frame tableView:(UITableView *)tableView
{
// ....
[self.tableView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld | NSKeyValueObservingOptionPrior context:NULL];
// ....
}
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"contentSize"])
{
// Do something
}
}
Aunque no estoy seguro acerca de las banderas.
Sé que esto fue hace un tiempo pero ¡muchas gracias! – ryanwils
Recuerde también '-removeObserver: forKeyPath: context:' – titaniumdecoy
Normalmente pongo el '-removeObserver: forKeyPath: context:' en el método '-dealloc'. –
Para aquellos que no les gusta KVO:
- (void)setContentSize:(CGSize)contentSize {
[super setContentSize:contentSize];
// Do something.
}
Sí, sólo tiene que utilizar super
para acceder al método de los padres. Esto supone que usted subclase UIScrollview/TableView/CollectionView
- 1. UIScrollView ajusta contentOffset cuando cambia contentSize
- 2. UIScrollView contentSize Edición
- 3. ¿Hay un gancho en Bash para saber cuándo cambia la cwd?
- 4. ExtJS 4: ¿Cómo saber cuándo cambia cualquier campo de un formulario (Ext.form.Panel)?
- 5. saber cuándo llamar persistir
- 6. Cómo saber cuándo el modelo es destruido automáticamente por a: dependent =>: destroy in rails?
- 7. writeToFile cómo saber cuándo se completó
- 8. ¿Cómo saber cuándo termina el TTS?
- 9. WCF: ¿Cómo saber cuándo termina una sesión?
- 10. Java: Producer = Consumer, ¿cómo saber cuándo parar?
- 11. ¿Cómo saber cuándo Big O es logarítmico?
- 12. Cómo saber cuándo Windows está inactivo
- 13. ¿Cómo puedo saber cuándo NSTextView pierde foco?
- 14. ¿Cómo saber cuándo el dispositivo iOS está enchufado?
- 15. Determinar cuándo un ViewPager cambia las páginas
- 16. ¿Cuándo cambia el * Window focus * en Android?
- 17. cómo determinar cuándo cambia la configuración en ios
- 18. ¿Cómo detectar cuándo se cambia el tema en WP7?
- 19. ¿Cómo detectar cuándo cambia la altura de su página?
- 20. ¿Cómo saber si un objeto se libera automáticamente o no?
- 21. jQuery evento para detectar cuándo cambia la posición del elemento
- 22. Necesita saber cuándo se cierra la aplicación
- 23. Ember-Data cómo saber cuándo se capta una entidad
- 24. ¿Cómo saber cuándo sale el proceso en Linux?
- 25. wpf ¿cómo saber cuándo ha finalizado el enlace de datos?
- 26. ¿Cómo saber cuándo una actividad termina un pase de disposición?
- 27. AudioTrack: cómo saber cuándo comienza/finaliza un sonido.
- 28. Cómo saber cuándo enviar una respuesta 304 No modificada
- 29. Cómo saber cuándo un usuario evalúa una aplicación/juego iOS
- 30. Android - Cómo saber cuándo MediaPlayer está almacenando en el buffer
* ¿qué * necesita conocer un cambio en el tamaño del contenido? Los objetos '' UITableView' "y" 'UIScrollView'" en sí, o algo que los contiene, o algo completamente diferente? –