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

时间:2012-06-29 14:08:34

标签: ios xcode

我必须对此有一个心理障碍!

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

我的第一次尝试捕获了使用textDidChange输入的字符,该字符在子类UITableViewCell中调用。当我得到一个角色时,我使用NSNotificationCenter将searchText发送到我的TableView(使用searchText显示或隐藏pdf)。效果很好除了键盘在通知发布期间被解雇,我需要它才能保持稳定。

可能的解决方法是

a)防止键盘在通知帖子中被解雇。我不知道这是否可行,或者 b)以某种方式从TableView中调用textDidChange方法。委托被分配到IB中的子类UITableViewCell,这就是mental块发生的地方,我不确定我是否可以将委托转移到TableView,或者 c)我忽视的方法。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

你可以做一些简单的事情,例如在tableviewcell中有一个指向viewcontroller的弱指针。然后你可以调用你想要的任何功能,而无需使用代理/ NSNotificationCenter。只需在cellForRowAtIndexPath中设置。

@property (nonatomic, weak) UIViewController *parent;

修改

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

你可以这样做:

[tableView beginUpdates];
[tableview endUpdates];