【问题标题】:Setting UINavigationController Frame Does Not Alter Appearance设置 UINavigationController 框架不会改变外观
【发布时间】:2012-06-20 14:46:45
【问题描述】:

好的,所以我有一个 UINavigationController,我正在我的 viewDidLoad 中设置它的框架。

[self.navigationController.navigationBar setFrame:CGRectMake(0, 0, 586, 44)];

加载视图后,NavigationController 仍处于其全宽 1024

当视图出现时:

直到我在导航控制器上push 某些东西才会将其框架更新为586

推送或弹出后:

注意:调用[... setNeedsDisplay]; 并不能解决问题,[... setAutoresizingMask:UIViewAutoresizingNone]; 也一样

对于为什么最初不是这样或如何重绘它有什么想法吗?

【问题讨论】:

  • 您是否尝试在 viewWillAppear: 中调整其大小而不是 viewDidLoad?
  • @KevinHorgan — 不幸的是,我已经尝试过这种方法。好像没用。
  • 首先,您实际上重新调整了导航控制器导航栏框架的大小,而不是控制器本身。我认为您可能想要调整导航控制器视图的大小。

标签: iphone ios ipad uinavigationcontroller uinavigationbar


【解决方案1】:

我认为您不能直接更改框架,您应该自定义导航栏

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-14
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多