在我的 iPad 应用程序中,我将UITableView
在弹出窗口中显示一个。我有多个要显示的值,因此我UITableViewCell
使用多个标签进行了自定义,以模拟表格中的许多“列”。我想做的是确保我所有的“列”都排成一行。
问题是,我无法对列的宽度进行硬编码,因为我正在从 XML Web 服务动态填充数据 - 所以在我进行调用并接收到数据之前,我不知道它们需要多宽.
我的想法是遍历数据(一旦我得到它),并使用sizeWithAttributs:
方法NSString
来获得我的每一列的最大宽度。然后我会将该宽度发送到我的自定义单元格,以便单元格可以在其layoutSubviews
方法中使用它。问题是,我正在尝试使用 来完成所有这些NSLayoutConstraints
,并且在我看到的所有示例中,任何尺寸constraintsWithVisualFormat:
总是硬编码的——直到运行时我才知道我的尺寸是多少。我的想法是做类似的事情
NSDictionary *myDictionary = NSDictionaryOfVariableBindings(myLabel1,myLabel2)
NSArray *myConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[myLabel1(%d)]-[myLabel2(%d)]",myWidth1,myWidth2 options:NSLayoutFormatAlignAllBaseline metrics:nil views:myDictionary];
但这会导致构建错误。是否可以constraintsWithVisualFormat
在运行时动态提供大小,而不是硬编码?