Ios 在自定义UITableViewCell中使用UISearchBar-将结果返回到TableView
我一定是被这件事搞糊涂了 我有一个搜索栏作为自定义UITableViewCell的一部分,它是类似于PDF书架的iBooks的一部分。我们的目标是在搜索栏中输入字母时,消除书架上的书籍 我的第一次尝试捕获了使用textDidChange输入的字符,textDidChange在子类UITableViewCell中调用。当我得到一个字符时,我将搜索文本发送到我的TableView,在那里我使用NSNotificationCenter使用搜索文本显示或隐藏PDF。工作得很好,除了在通知发布期间键盘被关闭,我需要它保持不动 可能的解决办法是 a以防止键盘在通知发布期间失效。我不知道这是否可能,或者 b以某种方式在TableView中调用textDidChange方法。代理被分配到IB中的子类UITableViewCell,这就是发生心理障碍的地方,我不确定是否可以将代理移到TableView,或者 这是我忽略的方法Ios 在自定义UITableViewCell中使用UISearchBar-将结果返回到TableView,ios,xcode,Ios,Xcode,我一定是被这件事搞糊涂了 我有一个搜索栏作为自定义UITableViewCell的一部分,它是类似于PDF书架的iBooks的一部分。我们的目标是在搜索栏中输入字母时,消除书架上的书籍 我的第一次尝试捕获了使用textDidChange输入的字符,textDidChange在子类UITableViewCell中调用。当我得到一个字符时,我将搜索文本发送到我的TableView,在那里我使用NSNotificationCenter使用搜索文本显示或隐藏PDF。工作得很好,除了在通知发布期间键盘被关
感谢您的帮助 您可以做一些简单的事情,比如在tableviewcell中有一个指向viewcontroller的弱指针。然后,无需使用委托/NSNotificationCenter即可调用任何函数。只需将其设置在CellForRowatineXpath中 @属性非原子,弱UIViewController*父级 编辑: 要保持键盘处于活动状态,它看起来像是而不是[tableView reloadData] 你可以做:
[tableView beginUpdates];
[tableview endUpdates];
这是应该的,但我还是松开了键盘。在注释掉这些行之后,我发现它被刷新书架的tableView重载数据调用忽略了。我的通知贴很好。那么,我该如何防止我的键盘被丢弃呢?通过不调用reLoadData,而是迭代所有行,然后手动更新行中的项,解决了life.问题。谢谢你,迪玛,谢谢你的参与。