Swift 如何在基本样式表视图单元格中添加约束
我尝试将约束添加到UITableView中添加到基本样式单元格的标签中,但它们未处于活动状态 我使用基本样式而不是自定义,因为我需要一些行从Title开始,另一行从Swift 如何在基本样式表视图单元格中添加约束,swift,tableview,constraints,cell,Swift,Tableview,Constraints,Cell,我尝试将约束添加到UITableView中添加到基本样式单元格的标签中,但它们未处于活动状态 我使用基本样式而不是自定义,因为我需要一些行从Title开始,另一行从cell.ImageView!开始!。图像 若我使用自定义单元格,当并没有ImageView时,标题仍然位于远离行左侧的位置 截图: 使用完全定制的单元格。甚至不用担心预定义的一个。您可以自己构建它,您不必担心任何事情,也可以随心所欲地使用约束(只要确保这些约束与单元格的内容视图相关,而不是任何其他视图-UITableViewCell
cell.ImageView!开始!。图像
若我使用自定义单元格,当并没有ImageView时,标题仍然位于远离行左侧的位置
截图:
使用完全定制的单元格。甚至不用担心预定义的一个。您可以自己构建它,您不必担心任何事情,也可以随心所欲地使用约束(只要确保这些约束与单元格的内容视图相关,而不是任何其他视图-UITableViewCell有很多约束)。我在Apple文档中找到了答案: 该代码正在运行:
import UIKit
class ViewController: UITableViewController {
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.
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ChecklistItem", for: indexPath)
let label = cell.viewWithTag(1000) as! UILabel
let image = cell.viewWithTag(1001) as! UIImageView
let margins = cell.contentView.layoutMarginsGuide
if indexPath.row == 0 {
label.text = "First row"
} else if indexPath.row == 1 {
label.text = "Second row"
image.image = UIImage(named: "test")
} else if indexPath.row == 2 {
label.text = "Third row"
label.leadingAnchor.constraint(equalTo: margins.leadingAnchor).isActive = true
} else if indexPath.row == 3 {
label.text = "Fourth row"
}
return cell
}
}
谢谢您的回答,但我不知道在并没有ImageView的情况下,哪个约束会使标题移到行的左侧。我试着把标题贴在图片视图上,并给它留一些引导空间,但没有达成协议。好心的,你应该告诉我们你尝试了什么,以及它是如何失败的。我建议你看视频,也看看。您还可以搜索更多“如何以编程方式创建tableViewcell我失败了,因为我找不到任何具有现有相邻对象条件的约束,也因为基本样式单元格约束未处于活动状态,我不知道原因。