встроить пользовательский вид в UITableViewCell - PullRequest
0 голосов
/ 09 марта 2020

У меня уже есть подкласс UIView, называемый CustomView, который я использую в представлениях стека.

Я хочу переделать пользовательский интерфейс и использовать вместо него табличное представление. Итак, для этого я просто хотел повторно использовать класс CustomView, который у меня уже есть, но по какой-то причине в табличном представлении ячейка вообще не отображается.

Мне кажется, проблема в том, как я использую CustomView в CustomCell: UITableViewCell:

class CustomCell: UITableViewCell {
  @IBOutlet var customView: CustomView!
}

в контроллере представления, содержащем представление таблицы, у меня есть в viewDidLoad:

    tableView.register(UINib(nibName: "CustomCell", bundle: Bundle.main), forCellReuseIdentifier: "CustomCell")

и

  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
  {
    return tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath)
  }

  func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 1
  }

Когда я запускаю приложение, я просто получаю пустое представление таблицы. enter image description here

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Вы должны использовать назначенный инициализатор для своего пользовательского представления, такого как init (frame: CGRect), или добавить его в конструктор интерфейса, как ячейка прототипа.

0 голосов
/ 09 марта 2020

Добрый день. Я сделал тот же код, что и вы, и вы можете добавить точку останова в эту позицию.

  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
  {
    return tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath)
  }

у вас не должно возникнуть проблем с использованием пользовательских представлений внутри ячеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...