Создайте пользовательский список на раскадровке Xcode

#xcode #list #user-interface #storyboard #user-experience

Вопрос:

Будучи новичком в Xcode, я хотел знать, можно ли создать список с нашими собственными компонентами? Я объясняю, что это было бы сделать список избранного, прокручивающийся в представлении Xcode, с изображением, кнопкой для его удаления и текстом. Очевидно, что мне придется создавать больше компонентов, но как поместить их в список без ограничений? Дизайн прототипа выглядит следующим образом: Вот !

Заранее благодарю вас, Искренне.

Ответ №1:

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

  1. создайте свой собственный UITableViewCell и добавьте свои компоненты (2x UIImageViews, 1x UILabel)
  2. зарегистрируйте свою ячейку в поле UITableView , в котором вы хотите отобразить ячейку с identifier
  3. Соответствуют обоим UITableViewDelegate amp; UITableViewDataSource

Обратитесь к этому блогу, чтобы узнать больше, так как я едва поцарапал поверхность объяснением

Вы можете добавить данные в таблицу следующим образом

 /// Conforming to the UITableViewDelegate, UITableViewDataSource protocols
class HomeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    // Table view to display data
    @IBOutlet weak var tableview: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // setting the datasource and delegate
        tableview.delegate = self
        tableview.dataSource = self
    }

    /// 2d Array to store data
    let data = [["Melon", "Glace"], ["Epinard"], ["one", "two", "three"] ]

    func numberOfSections(in tableView: UITableView) -> Int {
        return self.data.count
    }

    /// UITableViewDataSource protocol stubs
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.data[section].count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if let cell = tableView.dequeueReusableCell(withIdentifier: "CustomTableViewCell") as? CustomTableViewCell {
            cell.name = data[indexPath.section][indexPath.row]
            return cell
        }

        return UITableViewCell()
    }
}
 

Комментарии:

1. Спасибо за ваш ответ,но когда я следовал вашему руководству, в нем не указано, как добавить вашу ячейку в список… Вы знали, как это сделать?

2. Да, я отредактирую свой ответ, чтобы придать ему больше смысла