在我的应用程序中,当单击联系人选项卡(中间按钮)时,我想将 UITabBar 从屏幕底部向上移动并在其下方显示一个 View 。
但是,当我使用以下代码向上移动 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
也是如此。
我建议您创建自己的 UIView
模型,其中包含 UIButtons
和带有子 VC 作为选项卡的父 View Controller 。这样一来,您将在未来的 iOS 版本中 100% 安全,因为除了 Apple 之外没有人真正知道 iOS 的任何给定组件将走向何方。
关于ios - 设置新的 UITabBar 框架时,UITabBarItems 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27231273/