双击UITableView

时间:2015-07-05 13:42:15

标签: ios objective-c uitableview uialertview

我尝试使用我选择的单元格中的文本打开stsales *insertsale(stcustomers* customer, stproducts* product) { p = malloc(sizeof(stsales)); // no error checking, just a demo! if (p != NULL) { sal[n++] = p; p->customer = customer; p->product = product; } return(p); } 两个UIAlertView。我使用这段代码:

textfield

但问题是,即使我在行上单击(单击),文本也会更改为默认文本。我希望你明白我的意思。

1 个答案:

答案 0 :(得分:2)

我认为你的代码是错误的,因为你每次用户点击一个单元格时都会创建一个UITapGestureRecognizer,而不是在单元格加载时,而且你将它分配给视图而不是单元格。

所以试试这个:

移动此代码:

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(edit:)];
tapRecognizer.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapRecognizer];

[tapRecognizer requireGestureRecognizerToFail:tapRecognizer];

初始化单元格后的cellForRowAtIndexPath方法,并将[self.view addGestureRecognizer:tapRecognizer];更改为[cell addGestureRecognizer:tapRecognizer];,因为您要将手势添加到单元格而不是视图。

我不知道这是否真的能解决你的问题,但我认为你的代码中有两件事是错误的。理论上它应该有用。

编辑:

还尝试将警报初始化的消息设置为nil。此外,是否真的有必要使用NSUserDefaults来存储这些变量?它们不能仅存储在两个NSString属性中,还是由于某种原因持久保存这些变量?