移动根视图控制器的框架,包含一个标签栏

Posted

技术标签:

【中文标题】移动根视图控制器的框架,包含一个标签栏【英文标题】:Shifting the frame of root view controller, containing a tab bar 【发布时间】:2012-10-29 08:57:21 【问题描述】:

应用程序有一个Tabbar Controller 作为它的rootViewController。现在的要求是单击navigation bar 中的按钮,另一个视图应该进入屏幕的一半,没有任何标签栏,而另一半应该具有包含tab bar 的原始视图。这可以创建吗? 任何帮助将不胜感激。

编辑 1:

我试过了

[UIApplication sharedApplication].keyWindow.rootViewController.view.frame = CGRectMake();

但问题是,在此不会看到另一个视图,因为整个窗口框架正在移动。

编辑 2:

我已经添加了要求的虚拟图片。

【问题讨论】:

【参考方案1】:

通过继承 UIView 创建一个自定义视图,并在前半部分显示在当前视图控制器中。

如果需要,您可以使用 UIKit 动画来为视图设置动画。

【讨论】:

如果你能解释一下那真的很有帮助。【参考方案2】:

终于找到了解决办法。 点击按钮,

objThird.view.frame = CGRectMake(120, 0, 320, 480);

UIView *windowVIew = [self.tabBarController.view superview];
[windowVIew addSubview:objThird.view];
self.tabBarController.view.frame = CGRectMake(-200, 0, 320, 480);

objThird = 按下按钮时我想要的新视图对象。 self.tabBarController.view superview = 为您提供窗口视图。因此现在您可以将视图添加到窗口中。

剩下的只是在玩视图的框架。

【讨论】:

以上是关于移动根视图控制器的框架,包含一个标签栏的主要内容,如果未能解决你的问题,请参考以下文章

如何处理标签栏的推送通知,我的标签栏控制器远离根视图控制器

导航控制器内的标签栏控制器,或共享导航根视图

将 UINavigationController 添加到标签栏应用程序

当标签栏点击两次时禁用自动弹出到根视图控制器

在标签栏控制器中实现表格视图?

是否可以从标签栏控制器导航到另一个标签栏控制器?