【问题标题】:Programmatically create a UIView for UITabBarController以编程方式为 UITabBarController 创建一个 UIView
【发布时间】:2011-09-01 14:47:24
【问题描述】:

您好,我有一个带有 5 个 tabBar 项目的 UITabBarController。 第四个是UIScrollView。

第四个标签显示的区域我不会有特定的高度。

所以直到这里我已经完成了这个

这是我创建我的 UITabBarController.(aViewController.h)

@interface aViewController: UIViewController <UITabBarControllerDelegate>{
UITabBarController *newTabBarController;
UIView *myView;
}

aViewController.m

- (void) viewDidLoad{
newTabBarController = [[UITabBarController alloc]init];
newTabBarController.delegate = self;

myView = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,self.view.frame.size.height - newTabBarController.tabBar.frame.size.height)];
NSArray *controllers = [NSArray arrayWithObjects:myView, nil];
newTabBarController.viewControllers = controllers; //this is the line that a get an error :Tread1:Program receive signal: SIGABRT
[myView release];
}

如果我使用 Xcode 创建 UIViewController 的 viewController 子类并将其放入 NSArray 中没有问题,但我希望我的视图具有 screen.height - tabbar.height 所以我尝试以编程方式制作一个。 任何帮助!

【问题讨论】:

    标签: uiview uitabbarcontroller


    【解决方案1】:
    • 列表项

    UIView 大小

    您可以通过 Interface Builder 完成此操作。

    为给定选项卡创建所需的视图。然后进入属性检查器。名为“模拟指标”的选项卡允许您设置 TabBar(甚至是 NavigationBar)。

    • SIGABRT

      myView = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,self.view.frame.size.height - newTabBarController.tabBar.frame.size.height)];
      NSArray *controllers = [NSArray arrayWithObjects:myView, nil];
      newTabBarController.viewControllers = controllers; //this is the line that a get an error :Tread1:Program receive signal: SIGABRT
      

    此属性称为 viewControllers,而不是视图。

    NSArray 必须包含 UIViewController 实例或子类。

    因此,最好用 IB 定义您的视图(并配置外观以显示 TabBar 等)。 然后使用 initWithNibName:bundle: 方法创建你的 UIViewController,并将这些实例放入 newTabBarController.viewControllers。

    希望对你有帮助

    【讨论】:

    • 感谢您的回答@NoTTC!我试过了,你的方法效果很好!因此,在您回答我的问题之前,我已经做了其他事情。我创建了 UIViewController 的子类,并在 viewDidLoad 中设置了它的界限!这对我有用!但再次感谢您的宝贵时间!
    猜你喜欢
    • 2018-06-04
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多