2017-05-22 10 views
1

でキーボードレイアウトの上にプレビューテキストを追加するには?どのように私は私はこのようなキーボードの上にプレビューテキストを表示したいのiOS

+0

いつも、キーボードの下にある適切な制約を持つUITextFieldだと思っています。 –

+0

iOSはデフォルトでこのタイプのキーボードを提供していません。あなたは、サブビューを持つビューをtextViewとボタンで記述する必要があります。キーボード通知イベントを使用すると、作成したビューを操作できます。 – Rohit

答えて

2

私はこれは何をしたいと思う:

enter image description here

コード:

override func viewDidAppear(_ animated: Bool) { 
     let viewAcc = UIView() 
     viewAcc.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 50) 
     viewAcc.backgroundColor = UIColor.gray 

     let newTF = UITextField(frame: CGRect(x: 2, y: 10, width: self.view.frame.size.width - 75 , height: 30)) 
     newTF.backgroundColor = UIColor.white 
     newTF.borderStyle = UITextBorderStyle.none 

     let btnDone = UIButton(frame: CGRect(x: newTF.frame.size.width + 10, y: 5, width: 45, height: 30)) 
     btnDone.backgroundColor = UIColor.blue 
     btnDone.setTitle("Done", for: .normal) 

     viewAcc.addSubview(newTF) 
     viewAcc.addSubview(btnDone) 
     self.mytextField.inputAccessoryView = viewAcc 
    } 

参考:

Apple Doc Reference

0

@ dahiya_boyの方法は私が推測する方がはるかに優れています。別の方法が必要な場合は...

この通知では、テキストのプレビューを示すラベルを表示または非表示にすることができます。

// this one trigger keyboardWillShow when keyboard is shown to user 
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: .UIKeyboardWillShow, object: nil) 

// this one trigger keyboardWillHide when keyboard is dismissing 
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: .UIKeyboardWillHide, object: nil) 

と機能キーボードでは、キーボードの上にプレビュー用のラベルを表示することができます。

func keyboardWillShow(sender: NSNotification) { 
     if let userInfo = sender.userInfo { 
      if let keyboardHeight = userInfo[UIKeyboardFrameEndUserInfoKey]?.CGRectValue().size.height { 
       // keyboard height is available you can use it to put image in view 
      } 
     } 
} 




func keyboardWillHide(sender: NSNotification) { 
    // you can hide the label here 
} 
関連する問題