2016-06-19 11 views
1

iOSキーボードには、保持されている場合、ユーザーが切り替えることができるキーボードのポップアップリストが表示されます。デフォルトのiOS「地球儀」ボタンを模倣するカスタムキーボード

しかしKeyboardViewControllerクラスで、私はキーボードのスイッチボタンを作るために見る唯一の方法は、メソッドです:

 self.advanceToNextInputMode() 

これに伴う問題は、それがクリックされた場合は、ボタンを作成することができますしながら、ということであるだろうこの方法では、ボタンを作成することはできません。このボタンを押し続けると、現在有効なキーボードのリストが表示され、ユーザーが指を正しいエントリに移動して切り替えることができます。

デフォルトのiOSグローブのキーボードボタンの動作をどのように模倣できますか?

答えて

0

ビュー時に長押しまたはビューからスワイプ上記//起動INPUTMODEリスト、

// nextInputModeにアドバンスビューのときに短いタップ。

//例: [KeyboardButton addTarget:セルフアクション:@セレクタ(handleInputModeListFromView:withEvent :) forControlEvents:UIControlEventAllTouchEvents]。

  • (無効)handleInputModeListFromView:(NULL以外のUIView *)ビューwithEvent:(非ヌルたUIEvent *)イベントNS_AVAILABLE_IOS(10_0)。

スウィフトコード

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Perform custom UI setup here 
    self.nextKeyboardButton = UIButton(type: .system) 

    self.nextKeyboardButton.setTitle(NSLocalizedString("Next Keyboard", comment: "Title for 'Next Keyboard' button"), for: []) 
    self.nextKeyboardButton.sizeToFit() 
    self.nextKeyboardButton.translatesAutoresizingMaskIntoConstraints = false 

    self.nextKeyboardButton.addTarget(self, action: #selector(handleInputModeList(from:with:)), for: .allTouchEvents) 

    self.view.addSubview(self.nextKeyboardButton) 

    self.nextKeyboardButton.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true 
    self.nextKeyboardButton.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true 
} 
+0

あなたはスウィフトでこの例を書いたり、多分それは少しフォーマットしてもらえますか?これは完全なコードサンプルですか? – Roymunson

+0

これは、iOS 10以降でのみ使用できる新しい方法です。 – iOne

関連する問題