【问题标题】:Change size of viewing area after changing size of UINavigationBar and UITabBar更改 UINavigationBar 和 UITabBar 的大小后更改查看区域的大小
【发布时间】:2012-08-14 03:32:32
【问题描述】:

我目前正在开发我的第一个应用程序,我已经更改了 UINavigationBar 和 UITabBar 的大小,现在我在一般查看区域(例如 ViewController、DetailViewController)中有额外的空间黑色空间。如何更改查看区域以适应这种新尺寸?

我已经粘贴了我当前如何为 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;

谢谢。

【问题讨论】:

    标签: objective-c ios ios5 uinavigationbar uitabbar


    【解决方案1】:

    基本上通过缩小标签栏和导航栏,您需要扩展视图。我假设您正在使用标签栏进行主要导航。

    找出合适的尺寸并像这样调整您的视图:

    [[self.tabBarController.view.subviews objectAtIndex:0] setFrame:CGRectMake(newX,newY,newWidth,newHeight)];
    

    在买家当心类别中,如果您的目标是应用商店,您最好查看修改这些元素的指南。我不确定所有的具体点,但我认为苹果皱着眉头对清晰显示的核心导航元素进行这样的更改。

    此外,这种方法适用于当前的屏幕尺寸,但如果传闻属实并且下一款手机的屏幕更大,则可能无法奏效。

    好好的。

    【讨论】:

      【解决方案2】:

      您永远不必以这种方式弄乱视图高度。视图被推送到导航栏。它们的大小应设置为适合 320 x 480 的屏幕减去标签、导航和标题栏。您应该将 AutoResize 宽度/高度设置为灵活,将左/右/上/下设置为不灵活(只需将它们排除在外)。

      view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight

      iOS 喜欢所有东西都被弹簧加载并相互固定。然后,当您旋转物体时,它会全部粘住并正确移动。他们为您完成所有工作。所以,最好接受他们处理事情的时髦方式。界面生成器 gui 可以提供帮助。如果需要,它甚至可以让您测试旋转。您也可以设置选项卡/导航/标题栏的选项。或者如果你理解它,那么你也可以手动完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多