У меня есть UITableView tableHeaderView, определенный в nib-файле.TableHeaderView содержит UITextView.Для делегата UITextView задан UITableViewController, а UITableViewController поддерживает протокол UITextViewDelegate.UITableViewController устанавливает различные свойства в tableHeaderView, включая текст UITextView, и все это прекрасно работает.Но textFieldShouldReturn: (UITextField *) textField в UITableViewController никогда не вызывается, и я не могу закрыть клавиатуру после нажатия UITextView.
Я перепробовал каждое предложение, которое я могу найти в документахи разные посты, но не везет.Ни один из примеров, которые я обнаружил, не имеет такого конкретного случая UITextView внутри tableHeaderView.
Есть ли что-то особенное, что мне нужно сделать.Кто-нибудь сделал это успешно?
Я пытался установить делегат UITextView в коде, но безуспешно.
@class Decision;
@interface DecisionDetailViewController : UITableViewController <UINavigationControllerDelegate, UITextViewDelegate> {
Decision *decision;
UIView *tableHeaderView;
UITextView *nameTextField;
}
@property (nonatomic, retain) Decision *decision;
@property (nonatomic, retain) IBOutlet UIView *tableHeaderView;
@property (nonatomic, retain) IBOutlet UITextView *nameTextField;
@end
@implementation DecisionDetailViewController
@synthesize decision;
@synthesize tableHeaderView;
@synthesize nameTextField;
- (void)viewDidLoad {
self.navigationItem.rightBarButtonItem = self.editButtonItem;
if (tableHeaderView == nil) {
[[NSBundle mainBundle] loadNibNamed:@"DecisionDetailHeader" owner:self options:nil];
self.tableView.tableHeaderView = tableHeaderView;
}
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[nameTextField resignFirstResponder];
return YES;
}