0

カスタムの背景ビューを設定するために、ストーリーボードと組み合わせて使用​​したい UITableViewController サブクラスがあります。私のサブクラスは、次のように init メソッドをオーバーライドします。

-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        self.tableView.backgroundColor = [UIColor clearColor];
        self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:iPhone568ImageNamed(@"background.png")]];
    }
    return self;
}

ここで、新しいテーブルビュー コントローラーをインスタンス化しようとすると (これはインターフェイス定義です):

@interface AVSelectTableViewController : AVCustomTableViewController

self.tableView を呼び出すと、init メソッドがクラッシュします。ストーリーボードではすべてが接続されているように見えます (テーブル データソースとデリゲートが AVSelectTableViewController の親を指しています)。

ドキュメントを読むと、おそらく tableView プロパティが正しく設定されていないようです (コントローラーによって管理されるテーブルビューを返すだけです)。ただし、アクセス方法がわかりません。何かご意見は?

4

1 に答える 1

3

initWithCoder の代わりに awakeFromNib を使用する

于 2012-12-05T01:26:48.387 に答える