我正在撞墙砖。 是否可以从AutoLayout XIB生成可视格式语言?
我希望在代码中模拟XIB等价物。
答案 0 :(得分:6)
当您使用NSLog约束时,日志会以可视格式语言显示它们。
NSLog(@"%@", self.view.constraints) ;
我在Interface Builder中创建了一个UIButton并将其拖到视图的右上角, ,这是NSLog:
"<NSLayoutConstraint:0x75b19f0 H:[UIRoundedRectButton:0x75ae6a0]-(NSSpace(20))-| (Names: '|':UIView:0x75ae560 )>",
"<NSLayoutConstraint:0x75b1a50 V:|-(NSSpace(20))-[UIRoundedRectButton:0x75ae6a0] (Names: '|':UIView:0x75ae560 )>"
它们与使用可视化格式语言创建约束相同:
H:[button]-20-|
V:|-20-[button]
如果您对可视化格式语言非常熟悉,那么您应该能够表达您在语言中可以想到的大多数约束,而无需在Interface Builder中创建它们并对它们进行反向工程。如果存在您无法在代码中构建的约束,请告诉我。