Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在自定义UITableViewCell中使用UISearchBar-将结果返回到TableView_Ios_Xcode - Fatal编程技术网

Ios 在自定义UITableViewCell中使用UISearchBar-将结果返回到TableView

Ios 在自定义UITableViewCell中使用UISearchBar-将结果返回到TableView,ios,xcode,Ios,Xcode,我一定是被这件事搞糊涂了 我有一个搜索栏作为自定义UITableViewCell的一部分,它是类似于PDF书架的iBooks的一部分。我们的目标是在搜索栏中输入字母时,消除书架上的书籍 我的第一次尝试捕获了使用textDidChange输入的字符,textDidChange在子类UITableViewCell中调用。当我得到一个字符时,我将搜索文本发送到我的TableView,在那里我使用NSNotificationCenter使用搜索文本显示或隐藏PDF。工作得很好,除了在通知发布期间键盘被关

我一定是被这件事搞糊涂了

我有一个搜索栏作为自定义UITableViewCell的一部分,它是类似于PDF书架的iBooks的一部分。我们的目标是在搜索栏中输入字母时,消除书架上的书籍

我的第一次尝试捕获了使用textDidChange输入的字符,textDidChange在子类UITableViewCell中调用。当我得到一个字符时,我将搜索文本发送到我的TableView,在那里我使用NSNotificationCenter使用搜索文本显示或隐藏PDF。工作得很好,除了在通知发布期间键盘被关闭,我需要它保持不动

可能的解决办法是

a以防止键盘在通知发布期间失效。我不知道这是否可能,或者 b以某种方式在TableView中调用textDidChange方法。代理被分配到IB中的子类UITableViewCell,这就是发生心理障碍的地方,我不确定是否可以将代理移到TableView,或者 这是我忽略的方法


感谢您的帮助

您可以做一些简单的事情,比如在tableviewcell中有一个指向viewcontroller的弱指针。然后,无需使用委托/NSNotificationCenter即可调用任何函数。只需将其设置在CellForRowatineXpath中

@属性非原子,弱UIViewController*父级

编辑:

要保持键盘处于活动状态,它看起来像是而不是[tableView reloadData]

你可以做:

[tableView beginUpdates];
[tableview endUpdates];

这是应该的,但我还是松开了键盘。在注释掉这些行之后,我发现它被刷新书架的tableView重载数据调用忽略了。我的通知贴很好。那么,我该如何防止我的键盘被丢弃呢?通过不调用reLoadData,而是迭代所有行,然后手动更新行中的项,解决了life.问题。谢谢你,迪玛,谢谢你的参与。