首页 文章

设置UITabBar的新帧时,UITabBarItems消失

提问于
浏览
0

在我的应用程序中单击联系人选项卡(中键)时,我想从屏幕底部向上移动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)];
}

结果如下:

enter image description here

enter image description here

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

Edit

如果我将标签栏向右移动到顶部,则UITabBarItems保持在同一位置 . 如果我将y移动到10,我会得到以下结果(如您所见,UITabBarItems仍然可见,但稍微向下移动):

enter image description here

1 回答

  • 2

    我怀疑直接改变iOS的标准UI元素帧是一个好点 . 例如, UINavigationBar 也是如此 .

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

相关问题