如何显示在*不隐藏标签栏
问题描述:
标签栏界面我想实现像在AppStore的iPad上的“搜索”视图中的“模式”视图中的“模式”视图(控制器)*。如何显示在*不隐藏标签栏
当示出,但应:
- 仍然显示标签栏。选择任何项目都应该像往常一样带你到他们的视野。
- 没有选项卡栏项目突出显示(因为搜索视图是'模态')。
我来最接近的,与现有的API是:
- 在“搜索”视图控制器,设置
UIModalPresentationCurrentContext
模式的演讲风格。 - 显示从活动视图控制器“搜索”视图控制器的模态内标签栏控制器(未从标签栏控制器本身)。
然而,这似乎并没有被正确的道路:
- 视图控制器显示underneath the status bar。我可以从
-[UIViewController viewDidAppear:]
开始解决这个问题,但是当改变设备的方向时,这会导致各种绘图问题,并且控制器再次在状态栏下方自行折叠。 - 标签栏项目仍然突出显示。
答
继续显示搜索栏只是修剪模式视图的高度,以便它不覆盖标签栏。
对于方位的变化,你只需要通过改变视图大小,并确保该模式的看法总是带来的所有意见前,以处理。您可以编程方式修改该视图的框架和内容,或者只需创建要支持的方向的nib,并在其更改时加载它们。另外请注意,如果您以编程方式更改视图的框架,您可能还需要调整大小/重新定位字段。
对于处理标签栏,你应该能够关闭突出显示的项目。所以当你弹出模式时,请确保关闭高亮显示的项目。如果你想从模态视图工具栏互动,你可以做到这一点与代表,通过父视图的一个实例(或只是访问父视图......我想你会得到免费的)
的_only_广场在那里我可以改变视图的高度,并使其实际工作来自' - [UIViewController viewDidAppear:]',但正如我所说的那样,在改变方向之后,这并不会让它变得粘滞。我也无法找到一种方法来使UITabBarController的UITabBar实例**不**突出显示任何项目。即当您尝试手动更改它时,它不喜欢它:“不允许直接修改由标签栏控制器管理的标签栏。”您是否创建了此类UI(在iOS 5上)? – alloy
没有。从来没有专门做过 - 我只是在假设它看起来是错的。如果关闭它们是不允许的,你可能会被迫推出自己的产品。至于改变框架或加载新的笔尖,我会一直在ViewControllers中执行RotationToInterfaceOrientation或didRotateToInterfaceOrientation方法,这些方法在旋转将要发生或已经发生时被调用。 – carbonbasednerd
是的,自定义解决方案似乎是要走的路......感谢您的时间! – alloy