如何在没有iOS中的故事板的情况下为视图控制器设置自定义视图类

时间:2013-12-30 01:27:54

标签: ios objective-c

如何以编程方式执行故事板提供的此功能:通过在故事板中设置视图类,在-(void)viewDidLoad期间,您可以直接获取所需自定义视图类的实例。是否有一些像-registerViewClass:这样的API可以在初始化期间注册自定义视图类?

我这样做是通过替换-(void)viewDidLoad中的原始UIView实例:

-(void)viewDidLoad{
   self.view = [[CustomViewClass alloc] initWithFrame:(self.view.frame)];
}

它有效,但效率不高。

2 个答案:

答案 0 :(得分:7)

在视图控制器的子类中,您应该覆盖loadView并像这样分配自定义视图:

-(void)loadView { self.view = [[MYCustomView alloc] init]; }

这是交换视图控制器子类加载的视图类的首选方法。 viewDidLoad仅应用于其他初始化视图。

答案 1 :(得分:1)

此代码可以在代码中创建自定义视图,并在使用[[UIScreen mainScreen] bounds]时将其全屏添加

-(void)viewDidLoad{
   CustomViewClass customView = [[CustomViewClass alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  self.view = customView;
}