UITableView / UIScrollViewのContentSizeの変更を自動的に認識する方法はありますか?
質問する
10578 次
2 に答える
29
答えは、KVO(Key Value Observing)を使用すると実際には簡単です。
- (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
}
}
フラグについてはまだわかりません。
于 2012-07-03T07:05:28.500 に答える
2
KVOが気に入らない人のために:
- (void)setContentSize:(CGSize)contentSize {
[super setContentSize:contentSize];
// Do something.
}
ええ、super
親メソッドにアクセスするために使用します。これは、UIScrollview / TableView/CollectionViewをサブクラス化することを前提としています
于 2017-08-24T10:40:04.883 に答える