0

我有一个自定义视图

@interface Slip : UIView{

  UIButton *number1;

}

@property (nonatomic, assign) IBOutlet UIButton *number1;
@end

对于 nib 文件,“Slip”是 nib 文件的文件所有者。

我像这样在 ViewController 中初始化视图:

self.slip1 = [[[NSBundle mainBundle]loadNibNamed:@"SlipNib" owner:self options:nil] objectAtIndex:0];
[self.slip1 setFrame:CGRectMake(0.0f, 0.0f, 307.0f, 322.0f)];
[self.slips addSubview:self.slip1];

现在我想访问 Slip 的成员

[self.slip1.number1 setSelected:YES];

此行引发异常

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

我如何访问成员 (number1)。我的 ViewController 中有 12 个这样的视图,需要单独访问它们。非常感谢任何帮助。

4

1 回答 1

3

听起来您还没有连接IBOutlet到 Interface Builder 中的按钮。您应该右键单击并从“文件所有者”拖动到按钮,然后选择 button1。

这是一个与IBOutlet按钮未正确链接相关的问题,因为 nib 在引擎盖下使用 KVC。您可能还需要将 nib 的根视图连接到子类IBOutlet中的 an UIView

UIView如果您需要有关如何从 nib加载子类的更多信息,请在此处查看我的另一篇文章

UIView 未显示在 UIScrollView 中

于 2013-04-30T14:44:30.413 回答