Вы можете наблюдать изменения в содержании как это.
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context
{
if ([keyPath isEqualToString:@"contentSize"]) {
CGSize newSize = [[change objectForKey:NSKeyValueChangeNewKey] CGSizeValue];
CGSize oldSize = [[change objectForKey:NSKeyValueChangeOldKey] CGSizeValue];
if (newSize.height != oldSize.height) {
// use newSize.height for your process
}
}
}
убедитесь, что наблюдатель удален
- (void)dealloc {
if(self.isViewLoaded) {
[self.tableView removeObserver:self forKeyPath:@"contentSize"];
}
}