我有一个包含单元格的tableView,每个单元格应包含图像,标签和不可编辑的textView。
以下是它显示的内容:https://i.stack.imgur.com/WmOn3.png正如您所看到的,它显示了一个空的tableView,但三条顶线彼此靠近。
ViewController.swift:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
let food = ["Pasta-salad", "Hamburger", "Pancakes"]
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return (food.count)
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
cell.foodImage.image = UIImage(named: (food[indexPath.row] + ".jpg"))
cell.foodLabel.text = food[indexPath.row]
cell.foodDescription.text = ("insert description of \(food[indexPath.row])")
return (cell)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
TableViewCell.swift
class TableViewCell: UITableViewCell {
@IBOutlet weak var foodImage: UIImageView!
@IBOutlet weak var foodLabel: UILabel!
@IBOutlet weak var foodDescription: UITextView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
答案 0 :(得分:2)
如果您的单元格具有固定高度,请将其设置为tableView.rowHeight
。
但是如果你有动态高度,请检查你的约束。这是可能的,而不是你的细胞底部没有任何限制。
同时检查委托和数据源
tableView.delegate = self
tableView.dataSource = self
答案 1 :(得分:2)
好像是单元格0的高度。
通过一些计算,实现UITableViewDelegate
方法返回每个单元格的高度,您也可以为每个单元格返回不同的高度。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100.0;//Choose your custom row height
}
答案 2 :(得分:0)
您需要将视图控制器设置为tableview的delegate
和dataSource
。
将此添加到视图控制器:
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}