使用NIB UIView作为子视图

时间:2012-08-27 18:57:50

标签: objective-c xcode

我尝试使用XIB中的UIView在另一个视图的子视图容器中显示 控制器。这是我尝试在MainViewController.h中显示subView的方法:

@property (nonatomic, strong) UIView *subView;

MainViewController.m:

UIViewController* nameController = [[UIViewController alloc] initWithNibName:@"NamesViewController" bundle:nil];
subView = [nameController view];

[self.view addSubview:subView];

但是我收到了这个错误:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x688e580> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key textField.'

我做错了什么或者我错过了什么? 我使用xib创建了一个NamesViewController类,在视图中放置了一个文本字段,现在尝试使用此xib中的视图作为子视图。

1 个答案:

答案 0 :(得分:0)

您应该分配NamesViewController而不是“普通”UIViewController

UIViewController* nameController = [[NamesViewController alloc]
    initWithNibName:@"NamesViewController"
             bundle:nil];

否则,任何连接IBOutlet的尝试都会导致崩溃。当然我只假设NIB名称与控制器名称相匹配;如果没有,则需要使用正确的名称。