我有一个scrollView
,根据用户交互添加和移除自定义视图。我希望确保容器视图始终足够大以显示所有子视图,并且想要检测何时添加或删除视图。我尝试使用KVO:
[self.scrollView addObserver:self forKeyPath:@"subviews" options:NSKeyValueObservingOptionNew context:nil];
但是尽管没有错误,当子视图数量发生变化时,observeValueForKeyPath:...
方法从未被调用。我应该使用什么替代方案?
P.S. 我知道我可以将所需的 contentSize
属性的计算直接放入添加/删除 scrollView 子视图的方法中,但出于架构原因,我不想选择此选项,而是更喜欢像 KVO 这样的东西。有类似的选项吗?
subviews.count
,因为NSArray
(即subviews
)不支持KVO。 :( - SaltyNutsdidAddSubview:
,willRemoveSubview:
等不是在一个代理中实现简直很愚蠢。它们基本上就是一个代理,只不过硬编码为self
而已。 - bcattle