使用视觉格式语言约束 2 个视图
Posted
技术标签:
【中文标题】使用视觉格式语言约束 2 个视图【英文标题】:Constrain 2 Views using visual format language 【发布时间】:2015-05-20 14:26:27 【问题描述】:我有两个视图,我希望 view1 对 view2 的顶部、底部、尾随和前导空间为零。我怎样才能意识到使用视觉格式语言? 我知道我必须创建一个将字符串分配给视图的字典,然后我才能定义但仅此而已。最好能得到有关如何执行此操作的提示。
// Creating my dictionary
NSDictionary * viewsDictionary = NSDictionaryOfVariableBindings(childController.view,self.containerView);
// How to define the relation i described above ?
NSArray constraints = [NSLayoutconstrain constraintWithVisualFormat:...]
// How to add the constraints to the actual view ?
【问题讨论】:
“提示”是阅读向您解释视觉格式语言的文档:developer.apple.com/library/ios/documentation/UserExperience/… UIView 和 NSLayoutConstraint 上的文档还告诉您在形成约束时如何处理所有约束. 【参考方案1】:假设您有两个名为 view1 和 view2 的 UIView
s -
[view1 addSubview:view2];
NSDictionary *views = @@"view2" : view2;
NSArray *horzConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[view2]|"
options:0
metrics:nil
views:views];
NSArray *vertConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view2]|"
options:0
metrics:nil
views:views];
[view1 addConstraints:horzConstraints];
[view1 addConstraints:vertConstraints];
view2.translatesAutoresizingMaskIntoConstraints = NO;
【讨论】:
以上是关于使用视觉格式语言约束 2 个视图的主要内容,如果未能解决你的问题,请参考以下文章