【发布时间】:2012-02-11 00:30:52
【问题描述】:
当我设置它时,这看起来很简单,但我无法解释为什么状态栏和导航栏之间存在这种差距。此外,包含的视图看起来可能已正确对齐,并且它只是向下移动的导航栏。间隙看起来像状态栏的大小,所以我认为这与它有关,但我不知道是什么。
下面是设置导航控制器的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
advancedVC = [[AdvancedSearchFormVC alloc] initWithNibName:@"AdvancedSearchForm" bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:advancedVC];
nav.navigationBar.tintColor = [UIColor defaultNavBarTint];
nav.navigationBar.topItem.title = NSLocalizedString(@"SearchTitle", nil);
UIBarButtonItem *searchButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"SearchButton", nil) style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList:)];
nav.navigationBar.topItem.rightBarButtonItem = searchButton;
self.view = nav.view;
}
rootViewController 使用来自 xib 文件的视图,我在其中模拟了状态栏、导航栏和选项卡栏。
【问题讨论】:
-
请注意,这是 iOS 5 和更早版本之间存在差异的地方。如果您为导航控制器使用“罐装”布局,它相当便携,但如果您完全自定义了它,那么两个版本之间的事情就会发生很大变化。 (我从来没有完全确定造成差异的原因,但您所展示的内容对于在 iOS 5 上运行的 iOS 4 代码来说是典型的。)
-
看到这个问题的第一个答案stackoverflow.com/questions/5850705/…
标签: ios cocoa-touch uinavigationcontroller uinavigationbar