对标准附件视图的约束

时间:2017-07-21 17:30:14

标签: ios swift3

我有一个带

的简单TableView单元格

enter image description here

cell.accessoryType = .detailButton

我需要从左侧添加带有约束的标签到accessoryView。我试试这个代码:

addConstraints(NSLayoutConstraint.constraints(
    withVisualFormat: "H:|-[v0]-5-[v1]", options: NSLayoutFormatOptions(), 
    metrics: nil, views: ["v0":partTitle, "v1":self.accessoryView!]))

但得到了错误:致命错误:在展开可选值时意外发现nil

可能有人可以提供帮助,如何从单元格的左侧创建标签约束到accessoryView

1 个答案:

答案 0 :(得分:1)

好吧,首先将accessoryView设置为空的UIView,然后你需要声明一个包含标签和accessoryView的字典,然后你需要将NSLayoutFormatOptions设置为0并删除“H:”从视觉格式。例如,您可以这样做:

self.accesoryView = UIView()

let views: [String : Any] = [
    "v0" : partTitle,
    "v1" : self.accesoryView!
]
addConstraints(NSLayoutConstraint.constraints( withVisualFormat: "|-[v0]-5-[v1]", 
               options: NSLayoutFormatOptions(rawValue: 0),  
               metrics: nil, views: views))

重要的是,accessoryView不能为零。