iPhone:将 UINavigationBar 向下移动?

标签 iphone uinavigationcontroller uinavigationbar

我正在尝试将导航栏放置在屏幕顶部下方。

我在viewWillAppear中尝试了以下操作:

self.navigationController.view.frame = CGRectMake(0.0, 54.0, 320.0, 426.0);
self.navigationController.navigationBar.frame = CGRectMake(0.0, 0.0, 320.0, 44.0);

问题是它似乎只在第一次显示 View 时才起作用。如果您转到另一个选项卡并返回,导航栏位于屏幕顶部。当 iPhone 旋转时也会发生这种情况。

我应该尝试调整导航 Controller 框架,还是应该尝试将导航 Controller 添加到屏幕顶部下方的另一个 View ?

最佳答案

虽然晚了,但我希望这仍然可以帮助其他人。我在 viewDidAppear:animated 中使用了 Stephens 代码,导航栏在返回选项卡时保持不变。这允许我在导航栏上方使用 Logo 。我在我的 viewController 中使用了它。

    - (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.navigationController.view.frame = CGRectMake(0.0, 100.0, 320.0, 426.0); 
self.navigationController.navigationBar.frame = CGRectMake(0.0, 0.0, 320.0, 44.0); 
[self loadData];
    }

关于iPhone:将 UINavigationBar 向下移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019619/

相关文章:

iphone - UITableView子菜单

iphone - 我在哪里可以下载 StoreKit.framework

ios - UINavigationController 堆栈中 UIViewController 的不同界面方向

iphone - 我的导航 Controller 需要在 iOS5 中按两次后退?

iphone - NSFetchedResultsController 不显示来自其他上下文的更新

ios - 使用 Core Data 的选项卡式应用程序,每个选项卡上都有不同的主详细信息 TableView

ios - 导航左标签栏项目

ios - UINavigationBar 为 UIScrollView 注册触摸

iphone - 导航栏后退按钮,文本未居中对齐

iphone - -viewDidLoad 未在子类 UIViewController 中调用