Функция UIButton не будет отвечать при вызове в ячейке UITableView.IOS

Программируем под IOS
Ответить
Anonymous
 Функция UIButton не будет отвечать при вызове в ячейке UITableView.

Сообщение Anonymous »


У меня есть UITableView, и я также определил его подкласс, чтобы включить кнопку в каждую из моих ячеек.
Чтобы проверить правильность работы его функций, я определил функцию @objc (поскольку я делаю это программно).

Я вижу, что ячейки таблицы присутствуют, а также кнопка, видимая внутри нее, поскольку я уже зарегистрировал ее в функции viewDidLoad моего класса UIViewController, но когда я нажмите на него, он не отвечает. Я ожидаю получить сообщение, напечатанное в консоли

@objc func actbuttonFuncCall(_ sender: UIButton) { print("кнопка нажата") } Вот как я определил функцию tableView для раздела cellForRowAt:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell", for: indexPath) as! MyCustomCell если пусть модель =viewsArray[indexPath.row] { // имя присвоено из другого VC ячейка.textLabel?.text = модель.имя cell.textLabel?.textColor = .systemPink cell.button.isUserInteractionEnabled = true ячейка.isUserInteractionEnabled = истина cell.button.addTarget(self, действие: #selector(actbuttonFuncCall), для: .touchUpInside) } возвратная ячейка } И это подкласс моего UIButton

класс MyCustomCell: UITableViewCell { пусть кнопка = UIButton() переопределить init(стиль: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(стиль: стиль, reuseIdentifier: reuseIdentifier) button.setTitle("Приступаем к делу", for: .normal) button.backgroundColor = .blue addSubview (кнопка) button.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ button.centerYAnchor.constraint(equalTo: centerYAnchor), button.centerXAnchor.constraint(equalTo: centerXAnchor), button.widthAnchor.constraint(equalToConstant: 100), // Отрегулируйте по мере необходимости button.heightAnchor.constraint(equalToConstant: 40) // Отрегулируйте по мере необходимости ]) } требуется инициализация?(кодер: NSCoder) { FatalError("init(coder:) не реализован") } } Нужно ли выполнить какие-либо еще действия, чтобы кнопка заработала?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»