我必须对此有一个心理障碍!
我有一个搜索栏,作为自定义UITableViewCell的一部分,它是类似iBooks的PDF书架的一部分。目标是在搜索栏中输入字母时消除书架上的书籍。
我的第一次尝试捕获了使用textDidChange输入的字符,该字符在子类UITableViewCell中调用。当我得到一个角色时,我使用NSNotificationCenter将searchText发送到我的TableView(使用searchText显示或隐藏pdf)。效果很好除了键盘在通知发布期间被解雇,我需要它才能保持稳定。
可能的解决方法是
a)防止键盘在通知帖子中被解雇。我不知道这是否可行,或者 b)以某种方式从TableView中调用textDidChange方法。委托被分配到IB中的子类UITableViewCell,这就是mental块发生的地方,我不确定我是否可以将委托转移到TableView,或者 c)我忽视的方法。
任何帮助表示赞赏!
答案 0 :(得分:0)
你可以做一些简单的事情,例如在tableviewcell中有一个指向viewcontroller的弱指针。然后你可以调用你想要的任何功能,而无需使用代理/ NSNotificationCenter。只需在cellForRowAtIndexPath
中设置。
@property (nonatomic, weak) UIViewController *parent;
修改强>
要保持键盘处于活动状态,它看起来不是[tableView reloadData]
你可以这样做:
[tableView beginUpdates];
[tableview endUpdates];