2

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

我应该怎么做?谢谢。

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

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

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

viewDidLoadof 中myViewController,调用以下内容: [[myCell myTextField] setDelegate:self]; [myTableView setDelegate:self]; [myTableView setDataSource:self];

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

4

1 回答 1

0

我希望textField代表指的是viewcontroller班级,是吗?我认为您的问题在于确定哪个 textField 正在调用该委托方法。

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

于 2012-07-05T19:49:35.563 回答