表重新加载无法从 textFieldShouldEndEditing 委托方法工作

Posted

技术标签:

【中文标题】表重新加载无法从 textFieldShouldEndEditing 委托方法工作【英文标题】:table reload not working from textFieldShouldEndEditing delegate method 【发布时间】:2013-06-21 06:52:04 【问题描述】:

我正在使用 自定义单元格,并且我的客户中有一个 textField 细胞

当我完成编辑 textfeild 时,它是委托方法 textFieldShouldEndEditing 被调用并正在重新加载表格 存在于另一个类中的视图。问题是tableview委托 不工作(表视图重新加载)。

**//Custom cell class textfield delegate method**
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
**//tableReload is existing class table view reload method**
       [rptCartdelegate tableReload];
       return YES;


//另一个类方法

-(void)tableReload
     //here table is not nill have object information and passing array also not empty
    [tableview reload];


我想我解释了我的问题.. 如果您有任何想法,请分享您的想法......我希望您的想法会 帮我.. 谢谢。

【问题讨论】:

reloadData 调用之前,输入NSLog(@"%@", tableView); 以确保指向tableView 的指针不为零 我检查了.. tableview 不是零,它有像这样的对象值..receiptTableView=;内容偏移:0, 0>。委托:ReceiptEntryViewController,数据源:ReceiptEntryViewController 正如加勒特所说。将 NSLog 放在 textfiled 中应该返回方法,以确保它调用 您是否为您的 textField 设置了委托。看看,有没有被调用...? 大家好,我检查了 ..while 键盘返回调用 textFieldShouldEndEditing: 方法,然后从那里另一个类方法 tableReload 也调用 finally [tableview reload] 也调用但没有变化用户界面。 【参考方案1】:

只需将方法 textFieldShouldEndEditing: 改为 textFieldDidEndEditing:

【讨论】:

我遇到了同样的问题,这个答案为我解决了。我无法找到任何关于观察到的行为的文档,但似乎 UITableView.reloadData() 在从 UITableViewDelegate.textFieldShouldEndEditing() 中调用时没有任何效果。

以上是关于表重新加载无法从 textFieldShouldEndEditing 委托方法工作的主要内容,如果未能解决你的问题,请参考以下文章

刷新 UITableView tableFooterView 而不重新加载整个表数据

无法在 iOS 中滚动表格

arcmap打开属性表的时候出现:“不能从数据源中加载数据,如果你能改正错误,按刷新按钮重新加载数据

Objective C - WebView无法从顶部重新加载

从 S3 重新加载已卸载的表数据

NSTableView 加载数据,但无法重新加载