【问题标题】:How to set programmatically topBar and bottomBar parameters of UIView?如何以编程方式设置 UIView 的 topBar 和 bottomBar 参数?
【发布时间】:2012-09-14 08:51:16
【问题描述】:

在界面构建器中,UIViewController 的 UIView 参数很少: 顶栏,底栏,...

视图的界面构建器参数

当我为顶部栏参数设置导航栏值时会发生什么, 和底部栏参数的标签栏?对我很有用。

那么,我该如何以编程方式进行呢?

【问题讨论】:

    标签: iphone ios uiview uiviewcontroller interface-builder


    【解决方案1】:

    实际上,这些参数用于构建正确的界面,即使您在 Xcode Interface Builder 中设置此栏,如果您不在某些 UIViewController 容器中使用 UIViewController,它们也不会出现。

    例如,如果您将 UIVIewController 添加到 UINavigationController,那么您将看到导航栏作为顶部栏。 这个模拟指标在程序中没有任何影响,但如果您希望在容器内使用 UIViewController,它们将帮助您构建正确的界面。

    但是如果你想在你的 UIViewController 中以编程方式添加这部分界面,你可以使用相应的 subiews。 例如:

    UINavigationBar *yourBar = [[UINavigationBar alloc] init];
    [self.view addSubview:yourBar];
    

    【讨论】:

    • 感谢您的回复。我知道不会出现条形图,但是此参数会影响布局视图控制器视图及其子视图。我的意思是,我不能在 viewDidLoad 方法中设置 self.view.frame = CGRect(x, y, width, height),它不会影响查看位置。我能以编程方式做什么?谢谢。
    • 是的,你不能,你为什么需要这个? UIViewController 的主视图将始终取代您的主视图。或者,如果需要,您可以将 UIViewController 添加到所需容器中: UINavigationController *controller = [[UINavigationController alloc] initWithRootViewController:yourController];然后您将拥有模拟指标中的导航栏。并且您的 UIVIewController 将具有使用模拟指标时的大小
    • 我在TabBarController的navigationController中有一个viewController,在这个viewController中我有一个UIView,它的名字叫containerView,在控制器中我将来自其他viewControllers的视图作为子视图一一添加到containerView,并且布局设置了 bottomBar 和 topBar 选项的 viewControllers 视图很好,但是没有 xibs(和此选项)的 viewControllers 视图布局不正确。自动调整大小的掩码是正确的,这些控制器之间的区别仅在于该参数(bottomBar 和 topBar)
    • 如果你从其他 viewControllers 添加视图,你可以为它们使用 frame。 UIViewController *控制器; [containerView addSubview:controller.view]; [controller.view setFrame:yourFrame];在您的 interfaceBuilder 中,将 Status Bar、Top Bar、Bottom Bar 设置为 None。然后您可以在界面生成器中将 UIVivew 的大小调整为 yourFrame
    • 是的,我已经做到了 :) 不起作用,并且添加视图的子视图位置的不正确偏移等于导航栏和 tabBar 的大小。 )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 2017-07-04
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    相关资源
    最近更新 更多