Используйте UITableViewCell в качестве кнопки

Я прочитал несколько похожих вопросов по этому поводу в Stack Overflow, но ни один из них не дал удовлетворительного ответа.

То, чего я пытаюсь добиться - это кнопка входа в Facebook на экране настроек.

Я хочу добиться этого с помощью статических ячеек. Но вскоре я обнаружил, что не могу подключить «Действие» к UITableViewCell с помощью Xcode.

Затем я попытался добиться того же результата, используя Custom UITableViewCell с UIButton внутри, но это привело к большим дополнительным проблемам с стилизацией, чтобы он выглядел точно так же, как настоящий UITableViewCell.

Теперь мне удалось заставить UITableViewCell вести себя как Button, используя следующее решение:

Я изменил идентификатор «кнопки входа» UITableViewCell на «loginButton». И я добавил следующий код в контроллер табличного представления.

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

Вместо выполнения IBAction (что было бы в случае, если бы я мог просто связать его как кнопку в XCode), теперь я собираюсь выполнить функцию.

Это работает, как ожидалось. Но причина, по которой я создал этот вопрос: я хочу знать, является ли это правильным путем. Это нормально? Это плохо? Почему это хорошо или плохо? Есть ли лучшее решение? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос