shouldAutorotateToInterfaceOrientation横向模式下的UIToolbar是一个像素关闭

时间:2012-02-25 11:06:38

标签: iphone objective-c landscape uitoolbar autorotate

我确实在我的视图中添加了一个工具栏:

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

现在,当我旋转到横向模式时,工具栏会调整大小并且所有内容都会关闭 像这样的一个像素:

enter image description here

这可能是什么原因?

1 个答案:

答案 0 :(得分: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模拟器上发生的错误。