【Swift】UITextField・UITextViewのキーボードに完了ボタンを追加

swift-og

【Swift】UITextField・UITextViewのキーボードに完了ボタンを追加

import UIKit

extension UITextField {

    func setInputAccessoryView() {
        let kbToolBar = UIToolbar(frame: CGRect(x: 0, y: 0, width: 320, height: 40))
        kbToolBar.barStyle = UIBarStyle.default  // スタイルを設定
        kbToolBar.sizeToFit()  // 画面幅に合わせてサイズを変更
        // スペーサー
        let spacer = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace,
                                                       target: self, action: nil)

        // 完了ボタン
        let commitButton = UIBarButtonItem(
            title: "完了",
            style: .done,
            target: self,
            action: #selector(self.commitButtonTapped(sender:))
        )

        kbToolBar.items = [spacer, commitButton]
        self.inputAccessoryView = kbToolBar
    }

    func commitButtonTapped(sender: Any) {
        self.resignFirstResponder()
    }
}

使用するときは、 self.textField.setInputAccessoryView()と呼ぶ。

【参考資料】

詳解Swift 第3版 [ 荻原 剛志 ]

詳解Swift 第3版 [ 荻原 剛志 ]

価格:3,456円
(2017/1/3 01:58時点)
感想(0件)

【スポンサーサイト】


広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中