[iOS] UITextField & UITestView
Keyboard Events
隨著Keyboard event調整View的origin.y:
func registerKeyboardNotifications(){
NotificationCenter.default.addObserver(self, selector: #selector(kyboardWillShow(notification:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(UIKeyboardWillHide(notification:)), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
func deregisterKeyboardNotifications(){
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
@objc func kyboardWillShow(notification: NSNotification){
var info = notification.userInfo!
let keyboardSize = (info[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size
UIView.animate(withDuration: 0.25) {
self.view.frame.origin.y = -keyboardSize!.height //Keyboard Height
}
}
@objc func UIKeyboardWillHide(notification: NSNotification){
UIView.animate(withDuration: 0.25) {
self.view.frame.origin.y = 0
}
}UITextField
return收起鍵盤:
使用IBDesignable 製作一個擁有Left Icon的TextField:
IDE效果


運行效果

其中color參數為imageView的tintColor, 使用的image需放在xcassets檔中, 必把Render as參數設為
"Template Image" 方能使用

UITestView
Last updated