我正在尝试创建一个不可滚动的表格视图,该表格视图会根据其内容来调整其大小。
但是,我能够执行以下两项操作之一。要么:
关于如何实现这一目标的任何想法吗?
答案 0 :(得分:0)
您可以这样观察contentsize的变化。
- (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"];
}
}