2

tableviewcellsビューコントローラに配置されます。のさまざまなプロパティを設定しても問題ありませんUITextField。しかし、うまく実装する方法が見つかりませんtextField:shouldChangeCharactersInRange:replacementString:

どうすればいいですか?ありがとう。

  1. myTextField-のサブクラスUITextField、準拠<UITextFieldDelegate>

  2. myTableViewCell--UITableViewCellのサブクラスこのサブクラスでは、myTextFieldプロパティが宣言され、nibレイアウトに接続されています。

  3. myViewController-のサブクラス、UIViewControllerに準拠<UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource>。nibファイルはテーブルビューで作成され、テーブルビューはテーブルビュープロパティに接続されます。myCellmyTableViewCellという名前のivarも宣言されています。

の中viewDidLoadmyViewController、次が呼び出されます。[[myCell myTextField] setDelegate:self]; [myTableView setDelegate:self]; [myTableView setDataSource:self];

textField:shouldChangeCharactersInRange:replacementString:にも実装されていmyViewControllerます。しかし、ブレークポイントによって、それはまったく実装されていないことがわかります。

4

1 に答える 1

0

textField代表者がクラスを指していることを願っていviewcontrollerます、rit?あなたの問題は、どのtextFieldがそのデリゲートメソッドを呼び出しているかを特定することにあると思います。

textField.delegateその場合、1つの解決策は、を指すUITableViewCell か、コントローラーでそれを処理する必要がある場合は、メソッドcellForRowAtIndexpath :(に基づく)のそれぞれにタグを設定textFieldindexPath.rowtextField:shouldChangeCharactersInRange:replacementString:[textField Tag]

于 2012-07-05T19:49:35.563 に答える