0

如果我这样做,为什么 CheckBox 不加载任何图像?仅当我从 XiB 文件中设置它们时才有效。我可以从 Xib 做到这一点,但如果我确实需要更复杂的东西来定制,我不知道怎么做。

我在那里设置了一个断点,所以我知道这些东西被调用了。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {

        [tcCheckBox setBackgroundImage:[UIImage imageNamed:@"checkbox-unchecked.png"] forState:UIControlStateNormal];

        [tcCheckBox setBackgroundImage:[UIImage imageNamed:@"checkbox-checked.png"] forState:UIControlStateSelected];

        [tcCheckBox setBackgroundImage:[UIImage imageNamed:@"checkbox-checked.png"]
forState:UIControlStateHighlighted];

        tcCheckBox.adjustsImageWhenHighlighted=YES;

        **// Custom initialization**
     }
    return self; 
}
4

1 回答 1

0

这是因为initWithNibName:bundle:不会立即实例化 nib,而只是初始化视图控制器,所以IBOutlets此时您的所有内容仍然为零。重写viewDidLoad自定义 UI 初始化,当 nib 被实例化并且你的所有 IB 连接都被解析时,这个方法被调用。

于 2012-07-03T19:43:53.190 回答