Используйте 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), теперь я собираюсь выполнить функцию.
Это работает, как ожидалось. Но причина, по которой я создал этот вопрос: я хочу знать, является ли это правильным путем. Это нормально? Это плохо? Почему это хорошо или плохо? Есть ли лучшее решение? Спасибо!