0

完了ボタンを含むツールバーを作成したオーバーレイがあります。完了ボタンのセレクターの名前はdoneButtonPressedです。

[完了]ボタンをクリックすると、新しいペン先ビューを取得するにはどうすればよいですか?TestViewControllerという名前のペン先を作成したとしましょう。

-(void)doneButtonPressed {

//What goes here?

}
4

1 に答える 1

0

nib から UIViewController をインスタンス化する場合は、次のコード行を使用できます。

UIViewController *viewControllerName = [[UIViewController alloc] initWithNibName:(NSString *) bundle:(NSBundle *)];

次に、次の方法でビューをモーダルに表示できます。

[self presentModalViewController:(UIViewController *) animated:(BOOL)];

ストーリーボードを使用している場合は、ストーリーボード オブジェクトからビュー コントローラーをインスタンス化するだけです。

これが探しているものかどうかはわかりませんが、ビューを「コンテナ ビュー」に変えることができます。そのためには、サブビューを作成してから、それらを切り替える必要があります。メニューで別のビューを制御したいときにこれを行いました。

[self.view insertSubview:(view you want to insert) atIndex:0];

次に、切り替えたい場合:

[[[self.view subviews] objectAtIndex:0] removeFromSuperview];
[self.view insertSubview:(view you want to replace with) atIndex:0];

編集済み

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneButtonPressed:)];

- (void)doneButtonPressed {

SkipQViewController *skipQ = [[SkipQViewController alloc] initWithNibName:@"Name" bundle:bundleName];
[self presentModalViewController:skipQ animated:YES];
}

それがうまくいかない場合は、次を使用してみてください:SkipQViewController *skipQ = [[SkipQViewController alloc] init];ビュー コントローラーをインスタンス化します。

-編集-

ビュー コントローラを次のようにインスタンス化します。SkipQViewController *skipQ = (SkipQViewController *)[[UIViewController alloc] initWithNibName:@"sqvc" bundle:nil];

于 2012-07-31T18:07:06.773 に答える