Crie um arquivo XIB:
Arquivo -> novo arquivo -> ios-> classe de toque cacau -> próximo

certifique-se de marcar "também criar arquivo XIB"
Eu gostaria de atuar com, tableview
então escolhi a subclasseUITableViewCell
você pode escolher como sua consulta

Arquivo XIB desenhado como você deseja (RestaurantTableViewCell.xib)

precisamos pegar a altura da linha para definir a tabela de cada linha hegiht

Agora! precisa carregá-los arquivo rápido. eu sou hucked restaurantPhoto
e restaurantName
você pode huck todos vocês.

Agora adicionando um UITableView

nome
O nome do arquivo nib, que não precisa incluir a extensão .nib.
owner
O objeto a ser atribuído como o objeto File's Owner do bico.
opções
Um dicionário contendo as opções a serem usadas ao abrir o arquivo nib.
primeiro,
se você não definir primeiro, em seguida, agarrar todas as visualizações ... então, você precisa pegar uma visualização dentro desse conjunto frist
.
Bundle.main.loadNibNamed("yourUIView", owner: self, options: nil)?.first as! yourUIView
aqui está o código completo do controlador de visualização de tabela
import UIKit
class RestaurantTableViewController: UIViewController ,UITableViewDataSource,UITableViewDelegate{
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let restaurantTableviewCell = Bundle.main.loadNibNamed("RestaurantTableViewCell", owner: self, options: nil)?.first as! RestaurantTableViewCell
restaurantTableviewCell.restaurantPhoto.image = UIImage(named: "image1")
restaurantTableviewCell.restaurantName.text = "KFC Chicken"
return restaurantTableviewCell
}
// set row height
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 150
}
}
você fez :)
