实现textField:shouldChangeCharactersInRange:replacementString:用于UITableViewCell中UITextField的子类

时间:2012-07-05 14:57:20

标签: uitableview uitextfield

tableviewcells放在视图控制器中。我可以设置UITextField的不同属性。但是,我找不到成功实施textField:shouldChangeCharactersInRange:replacementString:的方法。

我该怎么办?感谢。

  1. myTextField - UITextField的子类,符合<UITextFieldDelegate>

  2. myTableViewCell - UITableViewCell的子类 在此子类中,声明了myTextField属性并将其连接到nib布局。

  3. myViewController - UIViewController的子类,符合<UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource>。使用表视图创建nib文件,表视图连接到表视图属性。还声明了myTableViewCell的ivar,名为myCell。

  4. viewDidLoad的{​​{1}}中,会调用以下内容:     [[myCell myTextField] setDelegate:self];     [myTableView setDelegate:self];     [myTableView setDataSource:self];

    myViewController也在textField:shouldChangeCharactersInRange:replacementString:中实施。但是通过断点,它被发现根本没有实现。

1 个答案:

答案 0 :(得分:0)

我希望textField委托指向viewcontroller类,rit? 我认为您的问题在于确定哪个textField正在调用该委托方法。

在这种情况下,1解决方案是将textField.delegate指向UITableViewCell 或者如果你需要在控制器中处理, 为方法cellForRowAtIndexpath中的每个textField设置标记:(基于indexPath.row) 并在textField:shouldChangeCharactersInRange:replacementString:[textField Tag]

进行比较