我在拆分视图控制器的主视图中有一个标签栏控制器。我向该标签栏控制器添加了一个子视图以显示一些信息。我不使用模态视图,因为我不想要模态行为,我需要该子视图显示在主视图中。
此信息视图的显示可能由其他几个视图控制器中的任何一个触发,具体取决于当时显示的内容。(例如,点击地图上披露按钮列表中的单元格。)
有时,当我关闭此信息子视图时,选项卡栏控制器显示的视图为空白。它通常是纯色的或白色的。我可以切换选项卡,当我回到我所在的选项卡时,视图会正确绘制。
我想尝试在视图上使用 setNeedsDisplay 方法,所以我在标签栏控制器类中尝试了这个:
- (void) redrawCurrentTab {
UIView *currentView = [[self.viewControllers objectAtIndex:self.selectedIndex] view];
[currentView setNeedsDisplay];
}
我检查了 currentView 的值对于应该显示的视图是否正确。但是视图并没有像我希望的那样被重绘。
所以我有两个可以看到的问题:
- 我可能不明白 setNeedsDisplay 是如何工作的。
- 我正在寻找一种更好的方法来完成信息视图的显示,而不是作为标签栏控制器的子视图。