1

私は xcode でストーリーボードを作成することにしか慣れていませんが、新しい上司は、経験のない xib ファイルで全員を作成することを望んでいます。

これまでに行ったことは、新しい単一ビュー アプリケーションを作成し、「viewDidLoad」メソッドの下にコードを追加したことだけです。

UILabel *scoreLabel = [ [UILabel alloc ] initWithFrame:CGRectMake(0, 0.0, 150.0, 43.0) ];

[self addSubview:scoreLabel];

そしてライン

 [self addSubview:scoreLabel];

エラー 'No Visible @Interface for 'ViewController' をスローし、セレクター 'addSubView' を宣言します

ここで何が欠けていますか?

4

4 に答える 4

6

selfですUIViewController。サブビューを に追加しUIViewます。あなたに必要なのは:

[self.view addSubview:scoreLabel];
于 2013-01-22T16:18:45.787 に答える
1
self.view will be the view of the view controller.

したがって、ビューを追加できます。ビューのみのサブビュー。そのコントローラーではありません。ここでは自己がビューコントローラになります

于 2013-01-22T16:21:51.383 に答える
1

コントローラーにサブビューを追加しようとしていますか? それはビューにあるはずです。

于 2013-01-22T16:18:58.423 に答える
1

viewDidLoadUIViewではなく、UIViewControllerのメソッドです。コードを機能させるには、以下を置き換えます。

[self addSubview:scoreLabel];   

[self.view addSubview:scoreLabel]

xib からラベルを追加するには、上記のコードは必要ありません。.h ファイルでは、IBOutlet でプロパティを宣言する必要があります。次に、.xib でラベルを追加し、その参照アウトレットを宣言されたプロパティに設定します。認めますが、最初は直感的ではありません。

于 2013-01-22T16:20:03.710 に答える