繁体   English   中英

设置UITabBar的新框架时UITabBarItems消失

[英]UITabBarItems disappear when setting new frame of UITabBar

在我的应用程序中,单击“联系人”选项卡(中间按钮)时,我想将UITabBar从屏幕底部向上移动并在其下方显示一个视图。

但是,当我使用以下代码向上移动UITabBar时,UITabBarItems消失了:

- (void)moveTabBarUpwards
{
    [self.tabBar setFrame:CGRectMake(0, 300, self.view.frame.size.width, self.view.frame.size.height)];
    //[self.tabBar.items[0] setFrame:CGRectMake(0, 300, self.view.frame.size.width, self.view.frame.size.height)];
}

结果如下:

在此处输入图片说明在此处输入图片说明

即使选项卡消失,工具栏在新位置仍然可以正常工作。 不知道为什么会这样。

编辑

如果将选项卡栏右移到顶部,则UITabBarItems会保留在同一位置。 如果将y移至10,我将得到以下结果(如您所见,UITabBarItems仍然可见,但略微向下移动):

在此处输入图片说明

我怀疑直接更改iOS的标准UI元素框架是否真的好。 例如, UINavigationBar也是如此。

我建议您使用UIButtons和带有子VC作为选项卡的父视图控制器来创建自己的UIView模型。 这样,您将在将来的iOS版本中100%安全,因为除了Apple之外没有人真正知道iOS的任何给定组件将采用哪种方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM