更改UINavigationBar和UITabBar的大小后的可视区域大小
我目前正在开发我的第一个应用程序,并且更改了UINavigationBar和UITabBar的大小,现在我在普通查看区域中有了额外的空间黑色空间(等ViewController,DetailViewController)。如何更改观看区域以适应这种新尺寸?更改UINavigationBar和UITabBar的大小后的可视区域大小
我已经粘贴了我目前如何为UINavigationBar和UITabBar设置新尺寸。
/* Get the screenarea of the device */
CGRect screenArea = [[UIScreen mainScreen] applicationFrame];
/* Define the size of the navigation bar */
CGRect viewHeaderbBarFrame = navigationBar.frame;
viewHeaderbBarFrame.origin.y = screenArea.origin.y;
viewHeaderbBarFrame.origin.x = screenArea.origin.x;
viewHeaderbBarFrame.size.height = 44;
viewHeaderbBarFrame.size.width = screenArea.size.width;
navigationBar.frame = viewHeaderbBarFrame;
/* Define the size of the footer bar */
CGRect viewTabBarFrame = tabBar.frame;
viewTabBarFrame.origin.y = screenArea.size.height - 26;
viewTabBarFrame.origin.x = screenArea.origin.x;
viewTabBarFrame.size.height = 46;
viewTabBarFrame.size.width = screenArea.size.width;
tabBar.frame = viewTabBarFrame;
谢谢。
基本上通过缩小你的tabbar和navbar,你需要你的视图来扩展。我假设你正在使用一个tabbar进行主导航。
找出合适的大小和调整您的视角是这样的:
[[self.tabBarController.view.subviews objectAtIndex:0] setFrame:CGRectMake(newX,newY,newWidth,newHeight)];
的慧眼识英雄的类别,如果你的目标是应用程序商店,你将是明智的审查修改这些元素的准则。我并不确定所有的具体问题,但我认为苹果公司会对此做出改变,以便明确显示核心导航元素。
此外,这种方法适用于当前的屏幕尺寸,但如果传言是真实的并且下一个手机有更大的屏幕,则可能无法正常工作。
很好。
您不应该以这种方式混淆视图高度。视图被推送到导航栏上。它们的尺寸应该设置为适合320 x 480屏幕减号,导航栏和标题栏。你应该将AutoResize宽度/高度设置为灵活,左/ rigth/top/bottom设置为不灵活(只留下它们)。
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
iOS喜欢一切为了弹簧加载和固定到另一个。然后,当你旋转的东西,它都会坚持和正确移动。他们为你做所有的工作。所以,最好是拥抱他们处理事物的时髦方式。界面生成器gui可以提供帮助。它甚至可以让你测试旋转,如果你想。您也可以设置选项卡/导航/标题栏。或者如果你了解它,那么你也可以手动执行此操作。
谢谢你的抬头。 – 2012-08-15 01:04:44
伟大的答案和谢谢你的抬头。 – 2012-08-15 00:57:51