我有一个自定义 UITableViewController 来检测它的视图边界何时发生变化,并使用它来更新每个 tableviewcell 显示的缩略图数量。但是,当我将 tableView 嵌入到另一个视图中时,边界不会改变,尽管我可以在视觉上确认它调整了大小。
我使用 KVO 来检测视图边界何时发生变化。从我的自定义 TableViewController 的 viewDidLoad 方法内部:
[self.view addObserver:self forKeyPath:@"frame" options:0 context:nil];
如果我将 tableViewController 设置为应用程序的根视图控制器并旋转 iPad,则每次旋转都会更新边界,并且一切正常。
但是,由于我的 tableview 嵌入在另一个视图控制器的 nib 中,边界永远不会更新 - 框架也不会更新。尽管如此,我可以看到 tableview 本身在旋转进入/退出横向模式时正在正确调整大小 - 所以在应用程序的某个地方,真实的框架/边界正在改变,只是没有被报告。知道如何访问真正发生的事情吗?