tableHeaderView中的UITextView找不到委托

Posted

技术标签:

【中文标题】tableHeaderView中的UITextView找不到委托【英文标题】:UITextView in tableHeaderView can't find delegate 【发布时间】:2011-06-09 02:34:21 【问题描述】:

我在 nib 文件中定义了一个 UITableView tableHeaderView。 tableHeaderView 包含一个 UITextView。 UITextView 的委托设置为 UITableViewController 并且 UITableViewController 支持 UITextViewDelegate 协议。 UITableViewController 正在 tableHeaderView 中设置各种属性,包括 UITextView 的文本,并且一切正常。但是 UITableViewController 中的 textFieldShouldReturn:(UITextField *)textField 永远不会被调用,并且在我点击 UITextView 后我无法关闭键盘。

我已经尝试了可以​​在文档和各种帖子中找到的所有建议,但没有运气。我发现的所有示例都没有在 tableHeaderView 中包含 UITextView 的这种特定情况。

我有什么特别需要做的吗?有没有人成功做到这一点?

我尝试在代码中设置 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;

【问题讨论】:

大部分内容通过 IB 处理,但添加了一些相关代码 【参考方案1】:

textFieldShouldReturn 是 UITextFieldDelegate 的方法,而不是 UITextViewDelegate。那可能是你的问题。

【讨论】:

哇!谢谢 - 感激不尽。找到这个link

以上是关于tableHeaderView中的UITextView找不到委托的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewController 中的 iOS tableHeaderView 从不显示

从用作 tableHeaderView 的 xib 文件中的按钮转到 VC

UISearchBar 和 tableHeaderView

UITableView tableHeaderView中的UIButton没有响应触摸

禁用 tableHeaderView(不要与节标题混淆)滚动

UITableView:改变 TableHeaderView 的高度