キーボード上部にボタンを追加する

[過去の記事]

UITextFieldなどで出てくるキーボードの上にボタンを追加する方法です。 UIToolBarというものを使います。

UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0,0,self.frame.size.width,20)];
toolBar.barStyle = UIBarStyleDefault;
toolBar.items = @[
	[[UIBarButtonItem alloc] initWithTitle:@"Hoge" style:UIBarButtonItemStyleBordered target:self action:@selector(hogeButtonAction:)],
	[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
	[[UIBarButtonItem alloc] initWithTitle:@"Foo" style:UIBarButtonItemStyleDone target:self action:@selector(fooButtonAction:)]];
[toolBar sizeToFit];

UITextField *hogeTextField = [[UITextField alloc] initWithFrame:CGRectMake(......)];
hogeTextField.inputAccessoryView = toolBar;
...

みたいな感じでできます。
UIBarButtonItemが3つ並んでいますが、真ん中のは空白です。 上の例で hoge,foo を「マイナス」,「完了」とするとこんな感じになります.

カテゴリー:Objective-C
記事作成日:2017-05-31