นี่เป็นวิธีแก้ปัญหาที่ทำให้แป้นพิมพ์หายไปเมื่อกดreturn
ในฟิลด์ข้อความใด ๆโดยเพิ่มรหัสในที่เดียว (ดังนั้นไม่ต้องเพิ่มตัวจัดการสำหรับแต่ละฟิลด์ข้อความ):
พิจารณาสถานการณ์นี้:
ฉันมีviewcontroller
สองฟิลด์ข้อความ (ชื่อผู้ใช้และรหัสผ่าน) และการviewcontroller
ปฏิบัติUITextFieldDelegate
โปรโตคอลที่
ฉันทำสิ่งนี้ใน viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
username.delegate = self;
password.delegate = self;
}
และ viewcontroller ใช้เมธอดเผื่อเลือกเป็น
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
และไม่ว่าคุณจะอยู่ใน textfield ทันทีที่ฉันไปถึง return
แป้นคีย์บอร์ดมันก็จะถูกไล่ออก!
ในกรณีของคุณสิ่งเดียวกันจะทำงานได้ตราบใดที่คุณตั้งค่าผู้รับมอบสิทธิ์ของ textfield ให้เป็นของตนเองและนำไปใช้ textFieldShouldReturn