我有自定义单元格的tableview。单元格有2个textfields.from viewcontroller我需要在该textfield中找到更改的文本。
如果我使用
* (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
此方法不是在调用mainviewcontroller调用。
所以我发送这样的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(CalculateAmountInCartList:) name:UITextFieldTextDidChangeNotification object:nil];
在这里我得到了textfiled文本被更改。但是我没有控制特定单元格的文本字段和索引,我也没有。
请提出任何建议。
谢谢, 勒凯什
答案 0 :(得分:0)
你可以使用标签来做到这一点,不确定这是最好的方式..
在viewDidLoad方法中向textfield添加标记..
textField.tag = 1; //整数#1,10,99等
在
(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if(textField.tag == 1){
}
if(textField.tag == 2){
}
}
答案 1 :(得分:0)
您可以使用您知道的NSNotificationCenter发布消息。
- (void)postNotificationName:(NSString *)notificationName object:(id)notificationSender userInfo:(NSDictionary *)userInfo
所以你可以在NSDictionary中粘贴你想要的任何东西。
答案 2 :(得分:0)
我建议你尝试确定哪个字段是第一个响应者;这里有示例代码Get the current first responder without using a private API,解释如何执行此操作。
然后我还会将一个标签与每个编辑字段相关联,这样你就知道表格中的哪一行与编辑字段相关联,类似于@KiranThorat所建议的