使用KVO观察UIView的子视图数组中的更改

利扎

我到处寻找答案,并且尝试实现它,但是没有任何效果。基本上,我需要能够观察VC视图的子视图数组中的更改。如果从该数组中删除了一个现有视图,我希望得到有关它的通知并运行一些代码。

可能吗?

编辑-更多信息

我正在尝试修复一个奇怪的极端情况错误,在该情况下,快速点击UISearchDisplayController的UISearchBar(非常自定义)会导致sdController(或更确切地说是navBar效果中的托管searchBar)从视图中消失,但是sdController仍然是活性。这意味着navBar停留在-y的原点,并且下面的tableView不可滚动。

我最初的想法是进入sdController处于活动状态,但UISearchDisplayControllerContainerView不在视图层次结构中。我尝试在VC的viewDidLayoutSubviews中对此进行测试,但是,当您点击搜索栏并启动sdController动画时,sdController处于活动状态,并且UISearchDisplayControllerContainerView不在视图层次结构中:(。

尼古拉·鲁厄

与Apple框架中的大多数属性一样,subviews 它也不符合KVO要求

如果您控制子视图或超级视图,则可以通过子类化和覆盖来观察视图层次结构的变化:

在超级视图中,您必须覆盖...

- (void)willRemoveSubview:(UIView *)subview

...或者,如果您控制子视图,则可以覆盖...

- (void)willMoveToSuperview

在删除视图之前,将同时调用这两种方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

KVO观察UITableView中的模型更改的最佳实践

来自分类Dev

KVO观察UITableView中的模型更改的最佳实践

来自分类Dev

观察UIView更改崩溃

来自分类Dev

快速在UIView子类中创建子视图

来自分类Dev

在UIScrollview中获取UIView的子视图

来自分类Dev

如何观察对象数组中的更改

来自分类Dev

如何观察服务中的数组或对象更改?

来自分类Dev

在可可KVO中,为什么不更改NSMutableArray代理通知观察者?

来自分类Dev

如何使用Swift和KVO观察单个数组元素的变化(更新)?

来自分类Dev

在UIView子类中注册KVO,收到“观察信息泄漏”警告

来自分类Dev

如何根据UIView的子视图的父Alpha值进行更改?

来自分类Dev

如何使用KVO观察协议的属性?

来自分类Dev

当父视图在 StackView 中时 UIView 的子视图错位

来自分类Dev

观察数组的子值

来自分类Dev

观察数组的子值

来自分类Dev

隐藏UIView子视图

来自分类Dev

使用ReactiveCocoa观察NSArray中的对象更改

来自分类Dev

使用numpy使用2D数组的值更改3D数组中的子数组

来自分类Dev

在剔除中更改可观察数组中的值

来自分类Dev

如何从我的UIView中仅删除用户添加的子视图

来自分类Dev

将iPhone相机集成到ViewController的子视图UIView中

来自分类Dev

如何在iOS中的UIView子视图下插入UILabel

来自分类Dev

如何在iOS中查找UIView子视图的值变化

来自分类Dev

使用自动布局以子视图实现uiview子类

来自分类Dev

使用Scope按钮将UISearchBar添加为UIView的子视图

来自分类Dev

UIView使用自动布局拥抱所有子视图

来自分类Dev

DurandalJS并使用参数组成子视图

来自分类Dev

在 Swift 中使用动画更改 UIView 的超级视图

来自分类Dev

KVO 可观察属性在 Swift 中的类中的位置

Related 相关文章

热门标签

归档