1

UINavigationController クラスがあります。addSubview メソッドを使用してボタンを追加したいのですが、機能しません。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        UIButton *testbtn = [[UIButton alloc] initWithFrame:CGRectMake(20, 90,28,20)];
        [self.view addSubview:testbtn];
    }
    return self;
}
4

3 に答える 3

1

にボタンを追加できるとは思えUINavigationControllerません。実際には、独自のビューがありません。はUINavigationController、他の を保持および表示するための舞台裏のオーガナイザーですUIViewController

のコードではなく、[self.view addSubview:testbtn]のコードに入れる必要があります。そして、David Doyleが彼の答えで指摘したように、そのようなものを.UIViewControllerUINavigationViewControllerviewDidLoadinitWithNibName

于 2013-04-25T15:59:50.560 に答える
0

ビュー コントローラーのビューを変更する場合、init メソッドで変更することはお勧めできません。View Controller のビューを作成するリソースを抽出する nib ファイルは、完了するまで少し時間がかかります。

次のようにメソッド -[UIViewController viewDidLoad] をオーバーライドして、View Controller のビューを変更することをお勧めします。

- (void)viewDidLoad
{
  UIButton *testbtn = [[UIButton alloc] initWithFrame:CGRectMake(20, 90,28,20)];
  [self.view addSubview:testbtn];
}
于 2013-04-25T15:53:31.593 に答える