在我的主视图中,我在框架的底部添加了一个普通的UIToolbar,在风景中它不会变小吗?这是因为我不提供风景图片,还是我遗漏了其他东西?UINavigationController中的所有其他工具栏都会改变横向的大小。
下面是我如何将这个添加到屏幕上。
toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT-64, SCREEN_WIDTH, 44)];
toolbar.translatesAutoresizingMaskIntoConstraints = YES;
[self.view addSubview:toolbar];
[self setupToolbarItems];setupToolbarItems只是为工具条按钮创建了一些图像并设置了它们。
发布于 2013-03-18 12:49:48
你自己添加的UIToolbar不会神奇地改变高度。如果您希望它这样做,您必须自己更改高度,以响应应用程序方向的更改。
您所观察到的栏改变高度的行为是UINavigationController的一个特性;它改变导航栏和工具栏的高度以响应方向的改变(正如我的书:http://www.apeth.com/iOSBook/ch25.html#SBbarMetrics中所解释的那样)。但此UIToolbar不属于UINavigationController,因此它的高度不会自动发生任何变化。由你决定。
发布于 2013-03-18 12:51:03
这是因为您正在创建工具栏的框架,而不是在旋转视图时再次设置它。您需要使用[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resize) name:UIDeviceOrientationDidChangeNotification object:nil];检查屏幕何时旋转
然后在-(void)resize;方法中,您需要将工具栏调整为新窗口的大小。
https://stackoverflow.com/questions/15469910
复制相似问题