InterfaceBuilderのUINavigationBarに[キャンセル]または[完了]ボタンを追加できます。しかし、これらをアクションメソッドに接続して、モーダルビューコントローラーを閉じるか、入力を保存してから閉じるにはどうすればよいですか?
接続パネルには、UIBarButtonItemのアクションメソッドは表示されません。
InterfaceBuilderのUINavigationBarに[キャンセル]または[完了]ボタンを追加できます。しかし、これらをアクションメソッドに接続して、モーダルビューコントローラーを閉じるか、入力を保存してから閉じるにはどうすればよいですか?
接続パネルには、UIBarButtonItemのアクションメソッドは表示されません。
これは、コード、viewDidLoadまたはawakeFromNibメソッドで行います。まず、ボタンを作成し、ボタンが押されたときに呼び出されるメソッドを追加する必要があります。
- (void)viewDidLoad {
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)];
[self.navigationItem setLeftBarButtonItem:doneButton animated:NO];
[super viewDidLoad];
}
- (void)doneButtonPressed:(id)sender{
//TODO
}
または、IBで、IBActionメソッドを作成します。
- (IBAction)doneButtonPressed:(id)sender {
}
Class.hで宣言し、
- (IBAction)doneButtonPressed:(id)sender;
次に、IBでボタンを右クリックし、[セレクター]からファイルの所有者(ビューコントローラー)にドラッグして、doneButtonPressed:メソッドを選択します。