我在tableview中的单元格中添加了一个文本字段。 现在我想比较触摸的对象是否是文本字段。为此我正在使用 -
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event
{
UITouch *touch = [[event allTouches] anyObject];
}
方法。在这里,我必须得到UITableview单元格中的视图是文本字段。 我怎么能得到它?我是这个结构。请帮忙。
答案 0 :(得分:1)
使用TextField Delegate方法:
-(void)textFieldDidBeginEditing:(UITextField *)textField
答案 1 :(得分:1)
我认为实现这一目标的最佳方法是:
UITableViewCell
作为子视图创建UITextField
子类。将其定义为IBOutlet
并通过界面构建器将其挂起。UITableViewDataSource
的同一个类)。UITableViewCell
子类声明为UITextFieldDelegate
并将其连接到您创建的UITextField
。通过IB 实施
- (void)textFieldDidBeginEditing:(UITextField *)textField { [self.delegate textFieldWasTapped]; }
现在,您将在主控制器中收到textFieldWasTapped
事件的通知。没有必要检查它是否确实来自UITextField对象,因为只有这种类型的实例才能触发此调用。
答案 2 :(得分:0)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event
{
UITouch *touch = [[event allTouches] anyObject];
if([[touch view] isKindOfClass:[UITextField class]])
{
UITextField *txtField = (UITextField *) [touch view];
//UITextField object
}
}