这是我的结构,其中我从url下载了Json
var bikes = [BikeStats]()
这是我关于表格视图的声明
@IBOutlet weak var tableView: UITableView!
这是我用n创建表格视图的代码。行数
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return bikes.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .subtitle, reuseIdentifier: nil)
let imgURL = NSURL(string: "my_url/\(bikes[indexPath.row].Immagine)")
if imgURL != nil{
let data = NSData(contentsOf: (imgURL as URL?)!)
cell.imageView?.image = UIImage(data: data! as Data)?.renderResizedImage(newWidth: 70)
}
cell.textLabel?.text = "\(bikes[indexPath.row].StatoBici.uppercased())"
cell.backgroundColor = UIColor.darkGray
cell.layer.borderColor = UIColor.darkGray.cgColor
cell.textLabel?.textColor = UIColor.white
tableView.separatorStyle = UITableViewCellSeparatorStyle.none
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "showDetails", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destination = segue.destination as? BikeDetailViewController {
destination.bike = bikes[(tableView.indexPathForSelectedRow?.row)!]
}
}
我需要在动态创建的单元格之间添加一个空格。
最佳答案
要在UITableViewCell之间添加间距,您可以这样做。
// Inside UITableViewCell subclass
override func layoutSubviews() {
super.layoutSubviews()
contentView.frame = UIEdgeInsetsInsetRect(contentView.frame, UIEdgeInsetsMake(10, 10, 10, 10))
// for only bottom use UIEdgeInsetsMake(0, 0, 10, 0)
}
编辑:-在您的代码中
class myCustomCell: UITableViewCell {
override func layoutSubviews() {
super.layoutSubviews()
contentView.frame = UIEdgeInsetsInsetRect(contentView.frame, UIEdgeInsetsMake(0, 0, 10, 0))
}
}
然后在tableView中:
cellForRowAt indexPath
像这样使用单元格let cell = myCustomCell(style: .subtitle, reuseIdentifier: nil)
关于swift - 我需要在动态创建的单元格之间添加一个空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50973610/