在 iPhone 5 和 iPhone5 秒内无法关闭键盘
Can't dismiss keyboard for iPhone 5 and iPhone5s
我正在尝试以编程方式关闭屏幕键盘,我的代码如下
override func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil);
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);
}
func keyboardWillShow(notification: NSNotification) {
var info = notification.userInfo!
let keyboardFrame: CGRect = (info[UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue()
UIView.animateWithDuration(0.1, animations: { () -> Void in
self.Bottomspace.constant = keyboardFrame.size.height
})
}
func keyboardWillHide(notification: NSNotification){
self.Bottomspace.constant = 0
}
它适用于 iPhone 6 和 iPad,但不适用于 iPhone 5 和 iPhone 5s,有什么建议吗?
试试这个:
// Dismiss Keyboard when user touch screen
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
如果有效请告诉我!
将 UITextFieldDelegate 添加到 class 声明:
class ViewController: UIViewController, UITextFieldDelegate
连接文本字段或以编程方式编写
@IBOutlet weak var userText: UITextField!
将您的视图控制器设置为视图中的文本字段委托已加载:
override func viewDidLoad() {
super.viewDidLoad()
self.userText.delegate = self
}
添加此代表
func textFieldShouldReturn(userText: UITextField!) -> Bool {
yourtextfield.resignFirstResponder()
return true;
}
我正在尝试以编程方式关闭屏幕键盘,我的代码如下
override func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil);
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil);
}
func keyboardWillShow(notification: NSNotification) {
var info = notification.userInfo!
let keyboardFrame: CGRect = (info[UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue()
UIView.animateWithDuration(0.1, animations: { () -> Void in
self.Bottomspace.constant = keyboardFrame.size.height
})
}
func keyboardWillHide(notification: NSNotification){
self.Bottomspace.constant = 0
}
它适用于 iPhone 6 和 iPad,但不适用于 iPhone 5 和 iPhone 5s,有什么建议吗?
试试这个:
// Dismiss Keyboard when user touch screen
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
如果有效请告诉我!
将 UITextFieldDelegate 添加到 class 声明:
class ViewController: UIViewController, UITextFieldDelegate
连接文本字段或以编程方式编写
@IBOutlet weak var userText: UITextField!
将您的视图控制器设置为视图中的文本字段委托已加载:
override func viewDidLoad() {
super.viewDidLoad()
self.userText.delegate = self
}
添加此代表
func textFieldShouldReturn(userText: UITextField!) -> Bool {
yourtextfield.resignFirstResponder()
return true;
}