0

私はこれについて精神的なブロックを持っている必要があります !

iBooks のような PDF 本棚の一部であるカスタム UITableViewCell の一部として検索バーがあります。目標は、検索バーに文字を入力して本棚の本をなくすことです。

私の最初の試みは、サブクラス化された UITableViewCell で呼び出される te​​xtDidChange を使用して入力された文字をトラップします。文字を取得したら、NSNotificationCenter を使用して、searchText を TableView (searchText を使用して PDF を表示または非表示にする場所) に送信します。通知の投稿中にキーボードが閉じられることを除いて、うまく機能し、それを維持する必要があります。

考えられる回避策は次のとおりです。

a) 通知の投稿中にキーボードが消えるのを防ぐため。これが可能かどうかはわかりません。または b) 何らかの形で TextDidChange メソッドが TableView 内から呼び出されています。デリゲートは 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 に答える