2012-02-25 42 views
0

我做一个工具栏添加到我的看法是这样的:shouldAutorotateToInterfaceOrientation UIToolbar在横向模式下是一个像素关

self.myToolbar = [UIToolbar new]; 
    self.myToolbar.barStyle = UIBarStyleDefault; 
    self.myToolbar.tintColor = [UIColor BAR_COLOR]; 
    self.myToolbar.frame = CGRectMake(0, self.view.bounds.size.height-44, 320, 44); 
    self.myToolbar.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight); 
[self.view addSubview:myToolbar]; 

在界面生成器我设置固定在顶部和左侧空白的视图。 另外在模拟指标中,我将状态栏设置为黑色,顶部栏为导航栏,底部栏为无。

这适用于肖像模式。而像这样:

enter image description here

现在,当我旋转到landscapemode被调整大小的工具栏和一切,但它由一个像素这样是关闭的BUTTOM :

enter image description here

有什么事情是这个原因吗?

回答

3

下面的代码工作:

self.myToolbar = [UIToolbar new]; 
self.myToolbar.barStyle = UIBarStyleDefault; 
self.myToolbar.tintColor = [UIColor BAR_COLOR]; 
CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; //get the rect of the screen 
self.myToolbar.frame = CGRectMake(screenRect.origin.x, screenRect.size.height-44, screenRect.size.width, 44); 
self.myToolbar.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
[self.view addSubview:myToolbar]; 

编辑

这实际上是对iOS5的模拟器中的错误发生的历史。

+0

这确实解决了问题,但提出了另一个!现在工具栏停留在高度44,我不希望它应该调整像导航栏。 – bllubbor 2012-02-25 11:42:15

+1

对不起,我猜想这是你正在寻找。其实,我不知道它是否不是来自模拟器。我用iOS5模拟器试过了你的代码,我发现你的问题。但是,当我尝试使用iOS4或iOS4.3时,没有任何问题...... – Franck 2012-02-25 12:10:34

+1

你完全正确,这只是模拟器中的一个错误,它的工作原理就像我想要的那样。愚蠢的我没有尝试在手机上。非常感谢。请为其他有此问题的人编辑您的答案,并将其标记为正确答案。 – bllubbor 2012-02-25 13:00:42

相关问题