Чтобы создать список тегов в ячейке таблицы в Swift, вам потребуется создать так называемую "CustomCell" (пользовательскую ячейку), где вы будете отображать список тегов. Далее необходимо выполнить следующие шаги:
1. Создайте новый класс с именем "CustomCell" и унаследуйте его от "UITableViewCell".
class CustomCell: UITableViewCell { }
2. В классе "CustomCell" вы можете создать виджеты для отображения тегов. Например, вы можете использовать "UICollectionView" или "UIStackView". В этом примере мы будем использовать "UIStackView" для отображения списка тегов:
class CustomCell: UITableViewCell { let stackView = UIStackView() override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) // Настройки stackView stackView.axis = .horizontal stackView.alignment = .fill stackView.distribution = .fill stackView.spacing = 8 // Добавляем stackView к contentView contentView.addSubview(stackView) // Настройка constraints для stackView stackView.translatesAutoresizingMaskIntoConstraints = false stackView.topAnchor.constraint(equalTo: contentView.topAnchor).isActive = true stackView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor).isActive = true stackView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor).isActive = true stackView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor).isActive = true } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
3. Теперь вы можете использовать "CustomCell" в вашем контроллере таблицы. Необходимо зарегистрировать "CustomCell" как пользовательскую ячейку и настроить метод "cellForRowAt" для отображения списка тегов:
class ViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() // Регистрация CustomCell tableView.register(CustomCell.self, forCellReuseIdentifier: "CustomCell") } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { // Здесь нужно вернуть количество элементов в таблице return 10 } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! CustomCell // Очищаем все предыдущие теги cell.stackView.arrangedSubviews.forEach { $0.removeFromSuperview() } // Получаем список тегов для данной ячейки let tags = ["Tag 1", "Tag 2", "Tag 3"] // Создаем и добавляем UIButton для каждого тега tags.forEach { tag in let button = UIButton() button.setTitle(tag, for: .normal) button.setTitleColor(.white, for: .normal) button.backgroundColor = .blue button.layer.cornerRadius = 8 cell.stackView.addArrangedSubview(button) } return cell } }
4. Теперь, когда вы настроили свойство "stackView" для отображения списка тегов в ячейке таблицы, вам нужно только запустить ваше приложение, и каждая ячейка будет отображать список тегов, полученных из вашего источника данных.