可能重复:
UIWebView on iPad size
- (void)viewDidLoad {
[super viewDidLoad];
UINavigationController *naviController = [[UINavigationController alloc]init];
[self.view addSubview:naviController.view];
}
如果我在视图中添加导航控制器,它会显示状态栏下方约20个像素。 我希望它出现在状态栏下方。我该如何解决这个问题?
答案 0 :(得分:3)
我遇到过同样的问题。
此讨论很有帮助:UIWebView on iPad size
Tony的回答帮助我发现了这个伎俩:
naviController.view.frame = self.view.bounds;
答案 1 :(得分:0)
原来设置视图高度可以解决此问题。你可以在nib(xib)文件中或在创建视图时以编程方式设置view.frame = CGRect(0,0,320.0 460.0);或者它应该是什么(在你的情况下它看起来应该是460.0,因为你有状态栏)。
重点是,如果视图尺寸小于屏幕高度,则无法保证控件的显示位置。
答案 2 :(得分:0)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
CGRect frame = CGRectMake(0, 0, 320.0, 480.0);
viewController.view.frame = frame;
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
return YES;
}
我改变了如上。有用。到现在为止还挺好。如果高度为460,则底部会有空行。视图的绝对坐标为(0,20)。因此,导航栏的坐标为(0,40)。我认为这就是问题所在。我会遇到另一个问题。 也许有办法在显示导航视图之前更改坐标。谢谢。