Użyj UITableViewCell jako przycisku

Przeczytałem kilka podobnych pytań na ten temat w Stack Overflow, ale żaden z nich nie miał satysfakcjonującej odpowiedzi.

To, co próbuję osiągnąć, to „Przycisk logowania na Facebooku” z ekranu Ustawienia.

Chcę to osiągnąć za pomocą komórek statycznych. Wkrótce jednak odkryłem, że nie mogę połączyć „akcji” z UITableViewCell za pomocą Xcode.

Następnie starałem się osiągnąć ten sam rezultat, używając niestandardowego UITableViewCell z UIButtonem w środku, ale spowodowało to wiele dodatkowych problemów ze stylizacją, aby wyglądał dokładnie jak prawdziwy UITableViewCell.

Teraz udało mi się sprawić, by UITableViewCell zachowywał się jak przycisk, używając następującego rozwiązania:

Zmieniłem identyfikator „przycisku logowania” UITableViewCell na „loginButton”. Dodałem następujący kod do kontrolera widoku tabeli.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if ([[selectedCell reuseIdentifier] isEqualToString:@"loginButton"]) {
        NSLog(@"Clicked");
        // Execute function to run code for Login button
    }
}

Zamiast wykonywać IBAction (co miałoby miejsce, gdybym mógł po prostu połączyć go jak przycisk w Xcode), teraz wykonam funkcję.

To działa zgodnie z oczekiwaniami. Ale powodem, dla którego stworzyłem to pytanie, jest: Chcę wiedzieć, czy jest to właściwy sposób. Czy to jest ok? Czy to źle? Dlaczego to jest ok lub złe? Czy jest lepsze rozwiązanie? Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion