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 をすぐにインスタンス化せず、View Controller を初期化するだけなのでIBOutlets、この時点ではすべてがまだ nil であるためです。カスタム UI の初期化をオーバーライドviewDidLoadします。このメソッドは、nib がインスタンス化され、すべての IB 接続が解決されたときに呼び出されます。

于 2012-07-03T19:43:53.190 に答える