自定義鍵盤的設置或者自由切換處理

UITextView / UITextField在編輯時,在不作任何處理的狀況下,系統默認會自動彈出系統鍵盤。在一些狀況下,須要使用自定義鍵盤,所以須要對系統鍵盤處理,1) 自定義鍵盤就是inputView屬性,可是inputView不會隨着鍵盤的出現而出現,只會當UITextView / UITextField恢復第一響應者時顯示出來,再也不顯示系統鍵盤了;2 ) 設置inputAccessoryView屬性,它會隨着鍵盤(系統或則自定義鍵盤)一塊出現,而且在鍵盤的頂部,inputAccessoryView默認是nil,通常能夠使用UIToolBar的實例對象來做爲inputAccessoryView,用於回收 改變鍵盤;3 ) 注意:想使UIToolBar的實例對象在鍵盤的頂部,除了將這個實例對象設置爲inputAccessoryView來實現外,也能夠經過UIToolBar的實例對象的底部和所在的控制器view的底部同樣來設置底部約束來實現。spa

常見的自定義鍵盤的兩種使用需求:1 只須要自定義的鍵盤,不用切換到系統鍵盤 了  2 須要自定義鍵盤和系統鍵盤自由切換對象

1 只須要自定義鍵盤的處理方法:self.textView / textField爲須要使用自定義鍵盤的UITextView / UITextField的實例對象,emoticonKeyboardView爲自定義鍵盤input

  •  [self.textView / textField  resignFirstResponder];
  • self.textView / textField.inputView = emoticonKeyboardView;
  • [self.textView / textField becomeFirstResponder];

2  須要自定義鍵盤和系統鍵盤自由切換的處理方法:sso

  •  [self.textView / textField  resignFirstResponder];
  • self.textView / textField.inputView = self.textView / textField.inputView == nil ? emoticonKeyboardView : nil;
  • [self.textView / textField becomeFirstResponder];

尤爲注意:1 self.textView / textField.inputView = nil時,會顯示系統鍵盤。事實上,UITextView / UITextField在編輯時,在不作任何處理的狀況下,系統默認會自動彈出系統鍵盤,此時就是inputView爲nil。         2 鍵盤的隱藏設置:[self.textView / textField  resignFirstResponder]方法

相關文章
相關標籤/搜索