1
我有一個3 UITextFields添加到單元格的內容視圖(每節1行)的表。我插入了第四部分,以便可以將特定字段滾動到鍵盤上方。iPad不退出響應者
我有問題(僅在iPad上)是當其中一個文本字段具有firstResponder時,它不會在用戶點擊另一個字段時放棄它。 ipad上的響應鏈是否存在差異?在我的視圖控制器的波紋管代碼UITextFieldDelegate - textFieldShouldEndEditing在接觸另一個字段時不會被調用。按完成按鈕按預期工作(除非另一個字段已被觸摸)。
下面的代碼有什麼問題嗎?
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (!_editing++) {
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:4] withRowAnimation:UITableViewRowAnimationNone];
}
// scroll to section number in the text fields tag
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:textField.tag] atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
- (void) textFieldDidBeginEditing:(UITextField *)textField {
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:textField action:@selector(resignFirstResponder)] autorelease];
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
if (_editing-- == 1) {
//
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:4] withRowAnimation:UITableViewRowAnimationNone];
}
self.navigationItem.rightBarButtonItem = nil;
// do something with the text here...
return YES;
}
嗯,我會寫(!(--_編輯))的一致性,但除此之外,代碼在iPhone上工作,... – jv42 2010-10-22 11:21:41
是的,它的odd..app只爲iPhone開發界面也是如此,所以ipad在「iphone模式」下。已經通過在textFieldShouldBeginEditing中強制退出當前的第一響應者來管理解決方法...但這並不完美(鍵盤在切換字段時沒有保持不動 - 需要按兩次字段才能更改) – 2010-10-22 12:13:17