Ich habe meine Tabellenansicht und die Zellen darin haben den UILongPressGestureRecognizer hinzugefügt. Das Problem ist, dass sobald eine Zelle berührt wird, diese hervorgehoben wird, aber sobald meine lange Geste beginnt (die Taste gedrückt hält), verschwindet die Hervorhebung. Die Geste funktioniert und sie wird immer noch gehalten, aber es ist ein wenig verwirrend für den Benutzer, weil sie nicht wissen, ob es immer noch gehalten wird. Wie kann ich die Zelle während des Haltens hervorgehoben halten?TablView mit Holdgesture in Zellen un-Hervorhebung
einige Code:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
//add long press gesture for the audio AB (eventually VC and TP as well) list
//so that users can hold the cell and after 5 seconds have the dialpad for editing that entry
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]
initWithTarget:self
action:@selector(handleLongPress:)];
longPress.minimumPressDuration = 1;
[cell addGestureRecognizer:longPress];
}
cell.textLabel.text = [self.tableArray objectAtIndex:indexPath.row];
return cell;
}
- (void)handleLongPress:(UILongPressGestureRecognizer*)sender
{
//used to get indexPath of cell pressed
UITableViewCell *cell = (UITableViewCell *)[sender view];
//get the indexPath of cell pressed
NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell];
//use the index press to figure out the proper join to hold
self.sharedJoinNumber = indexPath.row+286 ;
}
Ich würde vorschlagen, Sie versuchen, mit [Zelle SetHighlighted: YES animiert: YES]; –