Mam funkcję "Przesuń, aby usunąć" TableViewCell
. Chcę dostosować przycisk Delete. Dostosuj przycisk usuwania w UITableView
Czy jest to możliwe i jak uzyskać dostęp do przycisku Usunąć?
Mam funkcję "Przesuń, aby usunąć" TableViewCell
. Chcę dostosować przycisk Delete. Dostosuj przycisk usuwania w UITableView
Czy jest to możliwe i jak uzyskać dostęp do przycisku Usunąć?
Ta metoda zostanie wywołana, gdy użytkownik wykonuje akcję bezstykowa
Wystarczy umieścić to w swoim CustomCell
- (void)willTransitionToState:(UITableViewCellStateMask)state
{
[super willTransitionToState:state];
if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask)
{
for (UIView *subview in self.subviews)
{
if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"])
{
UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)];
[deleteBtn setImage:[UIImage imageNamed:@"arrow_left_s11.png"]];
[[subview.subviews objectAtIndex:0] addSubview:deleteBtn];
}
}
}
}
Nie należy spróbuj tego, nie powinieneś zmieniać domyślnego ustawienia Apple widoki.
Znalazłem inny sposób usuwania, ale dziękuję za wysiłek. Dostanę na ten temat wykształcenie moralne, ponieważ będę potrzebował go do innych projektów. thx ** Jednej rzeczy, nie korzystam z niestandardowej komórki, dlatego potrzebowałem informacji, jak zmienić wygląd DELETE, aby wyglądał jak przycisk Nudge ** – Spire
jest wyraźnie napisane w pytaniu – Spire
to nie działa w ios 7 – Kiddo
Spróbuj tego:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
// Your Code
}
}
OK i jak wywołać przycisk Usuń tutaj w sekcji "// Twój kod"? Jak mogę to zmienić w 'UIButtonTypeCustom'? – Spire
To jest wbudowana funkcjonalność tabeli, więc możesz robić, co chcesz, jak na przykład usuwanie wartości z tablicy dla np.- [idArray removeObjectAtIndex: indexPath.row]; gdzie idArray to NSMutableArray posiadający identyfikator. Na koniec wystarczy przeładować swoją tabelę, wywołując [tableView reloaddata]; gdzie tableView to nazwa twojego stołu. –
Zmieniłem swój komentarz – Spire
Jeśli chcesz tylko zmienić tytuł przycisku, musisz tylko dodać metodę titleForDeleteConfirmationButtonForRowAtIndexPath.
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
return @"NewButtonName";
}
to dla mnie wspaniała praca:) dziękuję! – slboat
spróbować tych http://stackoverflow.com/q/8603431/194544 http://stackoverflow.com/q/1615469/194544 – beryllium
@beryllium więc rozwiązaniem byłoby, aby utworzyć komórkę niestandardowy? Ale już zbudowałem komórkę, wolałbym ustawić urządzenie do rozpoznawania gestów, a następnie ustawić tę komórkę jako komórkę niestandardową. – Spire
Chcesz akcji dla przycisku usuwania lub musisz zmienić przycisk usuwania –