0

我一定对此有心理障碍!

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

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

可能的解决方法是

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

任何帮助表示赞赏!

4

1 回答 1

0

你可以做一些简单的事情,比如在你的 tableviewcell 中有一个指向 viewcontroller 的弱指针。然后你可以调用任何你想要的函数而不使用委托/NSNotificationCenter。只需将其设置在cellForRowAtIndexPath.

@property (nonatomic, weak) UIViewController *parent;

编辑:

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

你可以做 :

[tableView beginUpdates];
[tableview endUpdates];
于 2012-06-29T14:16:38.433 回答