Khi thiết kế giao diện,
nếu TextField của bạn ở vị trí quá thấp thì khi người dùng ấn vào bàn phím hiện
ra sẽ che mất TextField.
Để làm cho TextField tự
cuộn lên được ta để giao diện trong một ScrollView Sc, sau dó thêm các hàm sau
vào trên ngoặc đóng cuối cùng.
func keyboardShow(n:NSNotification) {
let d = n.userInfo!
var r = (d[UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue()
r = self.sc.convertRect(r, fromView:nil)
self.sc.contentInset.bottom = r.size.height+50
self.sc.scrollIndicatorInsets.bottom = r.size.height
}
func keyboardHide(sender: NSNotification!)
{
sc.setContentOffset(CGPointMake(0, 0), animated: false)
}
Sau đó bên dưới dòng
super.viewDidLoad() thêm các dòng sau.
NSNotificationCenter.defaultCenter().addObserver(
self, selector: #selector(keyboardShow),
name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(
self, selector: #selector(ViewController.keyboardHide(_:)),
name: UIKeyboardWillHideNotification,
object: nil)
Bây giờ khi bạn chạm vào TextField nó sẽ tự cuộn lên không bị che nữa.
No comments:
Post a Comment