#xcode #list #user-interface #storyboard #user-experience
Вопрос:
Будучи новичком в Xcode, я хотел знать, можно ли создать список с нашими собственными компонентами? Я объясняю, что это было бы сделать список избранного, прокручивающийся в представлении Xcode, с изображением, кнопкой для его удаления и текстом. Очевидно, что мне придется создавать больше компонентов, но как поместить их в список без ограничений? Дизайн прототипа выглядит следующим образом: Вот !
Заранее благодарю вас, Искренне.
Ответ №1:
Да, вы можете создать свои собственные ячейки списка. Для этого вам нужно будет,
- создайте свой собственный
UITableViewCell
и добавьте свои компоненты (2x UIImageViews, 1x UILabel) - зарегистрируйте свою ячейку в поле
UITableView
, в котором вы хотите отобразить ячейку сidentifier
- Соответствуют обоим
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. Да, я отредактирую свой ответ, чтобы придать ему больше смысла