เลื่อนมุมมองขึ้นเมื่อแป้นพิมพ์ครอบคลุมช่องสัญญาณเข้าเท่านั้น
ฉันกำลังพยายามสร้างหน้าจอป้อนข้อมูลสำหรับ iPhone หน้าจอมีช่องป้อนข้อมูลจำนวนมาก ส่วนใหญ่จะอยู่ด้านบนของหน้าจอ แต่มีสองฟิลด์ที่ด้านล่าง เมื่อผู้ใช้พยายามแก้ไขข้อความที่ด้านล่างของหน้าจอแป้นพิมพ์จะปรากฏขึ้นและจะครอบคลุมหน้าจอ ฉันพบวิธีแก้ปัญหาง่ายๆในการเลื่อนหน้าจอขึ้นเมื่อเกิดเหตุการณ์นี้ แต่ผลลัพธ์คือหน้าจอจะเลื่อนขึ้นเสมอและฟิลด์ที่ด้านบนของหน้าจอจะขยับให้พ้นจากมือเมื่อผู้ใช้พยายามแก้ไขสิ่งเหล่านั้น มีวิธีให้หน้าจอเคลื่อนที่เฉพาะเมื่อแก้ไขฟิลด์ด้านล่างหรือไม่ ฉันใช้รหัสนี้ฉันพบที่นี่ : override func viewDidLoad() { super.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(sender: NSNotification) { self.view.frame.origin.y -= 150 } func keyboardWillHide(sender: NSNotification) { self.view.frame.origin.y += 150 }