iPhone编程中的标签栏?

Posted

技术标签:

【中文标题】iPhone编程中的标签栏?【英文标题】:Tab Bar in Iphone Programming? 【发布时间】:2013-08-18 05:54:11 【问题描述】:

我使用 Tab Bar 制作了一个应用程序。 我有 2 个视图控制器:View1 和 View2 以及一个 RootViewController。 在 RootViewController.m 中:

- (void)viewDidLoad

    [self.navigationItem setTitle:@"Tab Bar"];
    View1 *vc1 = [[View1 alloc]init];
    View2 *vc2 = [[View2 alloc]init];

    [vc1.tabBarItem setTitle:@"View1"];
    [vc2.tabBarItem setTitle:@"View2"];

    [self setViewControllers:[NSArray arrayWithObjects:vc1, vc2, nil]];
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

当我构建应用程序时,我有一个错误:有一个白色的地方。当我转到视图 2 并返回视图 1 时,它消失了。我想删除白色的地方。请在此处查看图片:http://photo.ssc.vn/images/108Screen_Shot_2013_08_18.jpg 感谢您的帮助!

【问题讨论】:

【参考方案1】:

这是将视图控制器添加到标签栏时的常见问题。

解决方案是将UINavigationController 上的wantsFullScreenLayout 设置为NO,这样它甚至不会尝试为状态栏留出空隙。

Apple says:

标签栏控制器支持的全屏布局不同于 大多数其他控制器支持它的方式。您仍然可以设置 wantFullScreenLayout 自定义视图控制器的属性为 YES 如果您希望其视图与状态栏或导航栏重叠 (如果存在)。但是,将此属性设置为 YES 不会导致 视图以覆盖标签栏视图。标签栏控制器总是 调整视图大小以防止它与标签栏重叠。

更详细的解释可以看这个Question。

【讨论】:

非常感谢 :) @user2678221 :在 satckoverflow 中,我们在答案(接受答案)旁边标记了那个正确的勾号表示“谢谢”:)

以上是关于iPhone编程中的标签栏?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 6+ 状态恢复与主拆分视图中的标签栏

没有标签栏项目的视图的标签栏 iPhone 应用程序

隐藏在标签栏控制器标签栏旁边的 iPhone 视图

iphone在按钮单击时更改标签栏项目

为标签栏控制器和 iPhone X 实现安全区域

iPhone标签栏应用程序:是不是可以在标签栏内(在其顶部)添加子视图?