tableView的cell中有TextField,怎样在导航离开此view或编辑完TextField时,获得TextField.text的值?
解决方案 »
- 求从android转战ios学习的经验
- 做了一个录音机,想把声音大小变动的数字显示用一个条形图显示。有图
- 画图软件的问题憋了几天实在搞不出来
- 冷清。。。
- 请教个objc的语法问题:数据成员在实现中,为什么要加个下划线?
- UITableView滑动崩溃
- xcode 中删除一个 ViewController 类后重建老是报错
- 求大牛推荐几本开发ios入门书籍,我想了解了解ios开发
- iOS 编辑UITextView 键盘变灰色
- iOS集成app支付宝,在读取私钥的时候发生野指针问题 导致程序崩溃
- [求助]UIScrollView GestureRecognizer处理问题
- AVAudioRecorder录音的问题
究竟是cell作为容器放置了TextField,还是自定义的cell中包含TextField作为元素?
if (cell != nil)
{
TextField *field = (TextField*)[cell viewWithTag:CELL_TEXTFIELD];
}
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];//第二步,实现回调函数
- (void) textFieldDidChange:(id) sender {
UITextField *_field = (UITextField *)sender;
NSLog(@"%@",[_field text]);
}
第2种textField.delegate=self;...
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *newString = nil;
newString = [textField.text stringByAppendingString:string];
NSLog(@"string:%@",string);
NSLog(@"newString:%@",newString);
return YES;
}
我是在storyborad里直接把object框的Text Field拖过来的,应该属于自定义的cell中包含TextField作为元素吧。
哪 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{} 怎样把indexPath传过来啊?我需知道是哪行的TextField改变了。
textField.tag=[indexPath row];
UITextField *textField=[[UITextField alloc] initWithFrame:CGRectMake(250, 50, 150, 22)];
textField.tag=[indexPath row];
textField.delegate=self;
textField.placeholder = @"请输入";
textField.font = [UIFont fontWithName:@"Times New Roman" size:25];
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
[cell addSubview:textField];//第二步,实现回调函数
- (void) textFieldDidChange:(id) sender {
NSNumber *tag=[NSNumber numberWithInt:[sender tag]];
UITextField *_field = (UITextField *)sender;
NSLog(@"tag%@",tag);
NSLog(@"_field%@",[_field text]);
}
{
...
UITextField *field = (UITextField *)[cell viewWithTag:101 + indexPath.row];
[field setText:[NSString stringWithFormat: @"%d",wantSearchThreadList[indexPath.row].threadCount]];
field.delegate = self;
[field addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
return cell;
}可执行,只是
field.delegate = self;
那句有编译警告:“Passing'ViewController *const _strong' to parameter of incompatible type íd<UITextFieldDelegate>”
field.delegate = self;
就行了。