工作,我有我的視圖控制器的viewDidLoad方法初始化爲低於長按手勢識別:UILongPressGestureRecognizer不上的UITextField
longPressGesture_= [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(displayTimeFlagCallout)];
我在我的ViewController一個的tableview。 tableview有自定義單元格。每個單元格有2個文本框。我想在用戶長按文本字段(startTime和endTime)時調出自定義彈出窗口。我不希望放大鏡和複製/粘貼彈出窗口顯示在長按文本字段作爲標準行爲,因此在添加我的手勢識別器之前,我正在禁用文本字段的內置長按手勢識別器。我已將以下代碼添加到我的cellforRowAtIndexPath方法中:
MyCustomCell_iPhone *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (cell == nil)
{
cell = [[MyCustomCell_iPhone alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
for (UIGestureRecognizer *recognizer in cell.startTime.gestureRecognizers) {
if ([recognizer isKindOfClass:[UILongPressGestureRecognizer class]]){
recognizer.enabled = NO;
}
}
for (UIGestureRecognizer *recognizer in cell.endTime.gestureRecognizers) {
if ([recognizer isKindOfClass:[UILongPressGestureRecognizer class]]){
recognizer.enabled = NO;
}
}
[cell.startTime addGestureRecognizer:longPressGesture_];
[cell.endTime addGestureRecognizer:longPressGesture_];
}
但是,這不起作用。長按現在什麼都沒有發生。任何想法可能是什麼問題?
感謝 Hetal
你能給的答案在我的問題嗎? http://stackoverflow.com/questions/40277505/manage-long-press-on-uitextfiled-without-disabling-context-menu –