【问题标题】:Move UITabBar to the top of a UITabBarController?将 UITabBar 移动到 UITabBarController 的顶部?
【发布时间】:2011-10-01 18:57:47
【问题描述】:

我刚刚完成了一个应用程序的设计,该应用程序使用在三个 UIViewController 之间切换的顶栏。我的第一个想法是使用 UITabBarController,因为它的工作原理非常相似。

但是,tabBar 位于底部,而在我的 PSD 中,它位于顶部。无论如何我可以改变它吗?我在库中看到我可以拖入一个 UITabBar,但我不知道如何让它从那里更改页面。

请帮忙! 库尔顿

【问题讨论】:

  • 你是如何定义你的顶栏的?当您尝试将其向下移动时,您遇到了什么问题?
  • 这是一堆 UIButton。我想将 UITabBar 移到顶部。我在库中看到了 UITabBar,但它没有链接到任何东西。

标签: objective-c uitabbarcontroller uitabbar


【解决方案1】:

希望下面的代码有所帮助

UITabBarController *tabC = [[UITabBarController alloc]init]; tabC.tabBar.frame = CGRectMake(0, 0, 320, 70); NSArray *arr = [[NSArray alloc]initWithObjects:firstObj,secObj, nil]; tabC.viewControllers = arr; [self.window addSubview:tabC.view];

对我来说很好用

【讨论】:

    【解决方案2】:

    我认为可以做到,但你应该知道this

    "重要提示:在 iPhone OS 3.0 及更高版本中,当标签栏与标签栏控制器对象关联时,您不应尝试使用该类的方法和属性来修改标签栏。以这种方式修改标签栏会导致“ >

    因此,在您的 UI 中(我假设您在 Interface Builder 中定义了它),实例化一个 UITabBar 对象(通过在 IB 库中选择它并将其拖到您在 IB 中的视图中)。选择默认位置并定义此选项卡栏自动调整大小的方式(使用信息窗口的大小窗格)。然后,在你的视图控制器中添加一个 UITabBar 类型的 outlet,最后,将 tab bar 对象连接到 tab bar outlet。

    完成此操作后,您可以在视图控制器的 viewDidLoad 方法中自定义标签栏的任何您想要的属性。

    【讨论】:

    • tabBar.frame = CGRectMake(-100, -100, 320, 60); 什么都不做。
    • 您是如何创建标签栏的?如果我按照我在 IB 中的建议进行操作,我可以在顶部看到标签栏。你在使用标签栏控制器吗?
    • 我正在使用标签栏控制器......它应该只是一个标签栏吗?如果它只是一个标签栏,我如何控制在每个项目上显示的视图?谢谢。
    • 正如我在答案开头所引用的明确指出的那样,当标签栏与标签栏控制器相关联时,您无法修改它。至于它管理的视图,你可以设置它的items 属性。看看 UITabBar 参考:developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/….
    • 我对它做了一点阅读,它只是谈到了这些项目。你会如何给它一个改变 UIViewControllers 或 UIViews 的动作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 2023-03-10
    • 2021-06-26
    相关资源
    最近更新 更多