ios - 设置新的 UITabBar 框架时,UITabBarItems 消失

标签 ios objective-c uitabbarcontroller uitabbar uitabbaritem

在我的应用程序中,当单击联系人选项卡(中间按钮)时,我想将 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)];
}

结果如下:

enter image description here enter image description here

即使选项卡消失了,工具栏在新位置仍能正常工作。不确定为什么会这样。

编辑

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

enter image description here

最佳答案

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

我建议您创建自己的 UIView 模型,其中包含 UIButtons 和带有子 VC 作为选项卡的父 View Controller 。这样一来,您将在未来的 iOS 版本中 100% 安全,因为除了 Apple 之外没有人真正知道 iOS 的任何给定组件将走向何方。

关于ios - 设置新的 UITabBar 框架时,UITabBarItems 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27231273/

相关文章:

iphone - 如何获取 UIImage 中使用的图像名称?

ios - 在swift 2中从对象和键数组创建字典

swift - 快速更改标签栏未选择的图标颜色

c# - 在 Unity 中检测 iPad 屏幕何时关闭或按下 Home 按钮的事件?

iphone - Game Center成就多次解锁

ios - 具有本地化键值的 NSPredicate

ios - swift ; scrollView 搭配 tableView 可行吗?

ios - iOS Realm.io限制或接受功能

iOS 标签栏图标越来越大

ios - 不同类型的 Controller 如何连接?