来自代码的NSLayoutConstraints

时间:2014-08-06 07:33:24

标签: ios nslayoutconstraint

我有下一个问题: 我有一个未定义的UILabel数量,可能有2个标签或10个标签,我在运行时添加它们。我希望这些标签在两列中显示在视图中。我想用NSLayoutConstraints做到这一点。如果我只有2个标签,我设法做到了,但如果有更多它只是不起作用。我在for循环中添加标签。有谁能够帮我? 还有一个问题: 如果我有这个代码:

[myView addConstraints:[NSLayoutConstraint 
constraintsWithVisualFormat:@"H:|-0-[label1(label2)]-[separator(1)]-[label2]-0-|"
                                                                   options:0
                                                                   metrics:nil
                                                                     views:views]];

[label1(label2)]是什么意思? 谢谢

2 个答案:

答案 0 :(得分:1)

H:| -O - [label1的(LABEL2)] - [分离器(1)] - [LABEL2] -O - |

1.H:表示水平

2 |表示父视图的边缘

3. []表示里面有子视图,在这种情况下,子视图是label1。

4.-表示连接

5.-数字 - 表示填充数字点

6.所有子视图如(label1,separator,label2)必须是视图的关键(最后一个参数)

7.()表示子视图的宽度/高度。[subview(100)]表示子视图的宽度= 100

[document] https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage/VisualFormatLanguage.html#//apple_ref/doc/uid/TP40010853-CH3

答案 1 :(得分:1)

  

[label1(label2)]是什么意思?谢谢

它的意思是label1等于label2(如果是前缀H - 宽度,如果是前缀V - 高度)