代码之家  ›  专栏  ›  技术社区  ›  marcc

UItabarController的子类,替换了选项卡并出现显示问题

  •  3
  • marcc  · 技术社区  · 14 年前

    我有一个iphone应用程序,它是用一个标准的uitabarcontroller构建的。此应用程序是使用标准Xcode项目模板创建的。

    现在,我有一个要求,要改变UItaBar,使其看起来非常不同。我决定采用的方法如下:

    在我的AppDelegate中:

    for (UIView *view in tabBarController.view.subviews) {  
        if([view isKindOfClass:[UITabBar class]]) {
            view.hidden = YES;
            break;
        }
    }
    

    这样可以隐藏选项卡栏。接下来,我将 UITabBarController 我添加了一个 UIToolbar 有一些自定义组件。在我的子类中 Uitababarcontroller(Uitababarcontroller) 我设置了我的代码,这样当选择了一个自定义对象时,代码只调用 [self setSelectedIndex:n] 更新用户界面。

    所以我基本上有一个UITabbarController,但是我通过一个新的UI来控制它。

    问题是我的新部件没有正常的高 UITabBar 而uitababarcontroller似乎没有自动调整视图的大小。实际上,我希望看到这种行为,但我不知道如何更改uitabbarController的“内容框架”。有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   David Sowsy    14 年前
    1. 检查AutoResizingMask属性。
    2. 您是否希望它们作为选项卡栏工作,通常通过向“视图控制器”视图添加项来完成?
        2
  •  0
  •   marcc    14 年前

    用以下代码解决:

    [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 436)];
    

    (我知道这个代码有问题,顺便说一句,它会在iPad或其他设备上困扰我)。