使 UITextField 子视图成为 UITableView 中的第一响应者时出错

Posted

技术标签:

【中文标题】使 UITextField 子视图成为 UITableView 中的第一响应者时出错【英文标题】:Error when making UITextField subView a first responder in UITableView 【发布时间】:2012-04-01 08:50:04 【问题描述】:

我正在尝试创建一个 UITableView,您可以在其中通过拉下整个表格来创建一个新项目。类似于清除应用程序http://www.realmacsoftware.com/clear/。

我正在添加一个 UITextField

addingTaskTextField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 320, NEW_ITEM_HEADER_HEIGHT)];
addingTaskTextField.hidden = YES; // I unhide it for editing 

[addingTaskView addSubview: addingTaskTextField];
[self.tableView addSubview: addingTaskView];

我收到此错误

“设置表格的第一响应者视图,但我们不知道它的类型(单元格/页眉/页脚)”

当试图使 textField 成为第一响应者时。

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:   (BOOL)decelerate 
    if (scrollView.contentOffset.y < -NEW_ITEM_HEADER_HEIGHT) 
        self.tableView.contentInset = UIEdgeInsetsMake(NEW_ITEM_HEADER_HEIGHT, 0, 0, 0);
        addingTaskTextField.hidden = NO
        [addingTaskTextField becomeFirstResponder];  <-- Trouble Line
    

我正在运行 Xcode 4.3.1,为带有 ARC 和情节提要的 ios 5 开发。

类似的帖子: http://www.iphonedevsdk.com/forum/iphone-sdk-development/85516-error-when-setting-uitextfield-first-responder.html"

Setting the inputAccessoryView of a UITextField to its superview

【问题讨论】:

【参考方案1】:

我知道这是一篇旧帖子,但在尝试解决相同问题时,我一直遇到这个问题。找到“解决方案”后,我决定回到这里回答它,以防其他人遇到我的情况(总是碰到这个确切的问题。)

在开发中心,一位 Apple 工程师回复a similar question:

您可以放心地忽略它。

所以你有它!虽然这篇帖子与UICollectionViews 有关,但我认为UITableVews 属于同一类别。

【讨论】:

以上是关于使 UITextField 子视图成为 UITableView 中的第一响应者时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何使键盘 UITextField 中的数字视图成为默认值?

在顶部添加UILabel作为UITextField的子视图

Swift:成为UITextField上的第一响应者?

UITextField 是不是消耗触摸事件?

UITextField 没有成为集合视图中的第一响应者

包含 UITextfield 的子视图未注册 Tapgesture