大佬教程收集整理的这篇文章主要介绍了iOS8自动布局编程相对布局边距,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
领先空间的限制是有效的.约束值为42.0分.
这正是我想要的,因为对于不同的设备,我可以在UIView上更改layoutMargins属性,约束将正常工作,以增加视图之间的边距.
现在我想在代码中添加另一个视图,这个视图也会占据领先地位和尾随空间,从而将SuperView设置为相同的layoutMargins将会起作用.
我使用以下语法的视觉格式语言固定视图:
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|-42.0-[separatorView]-42.0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(self.contentView,separatorView)]; [self.contentView addConstraints:constraints]; [self.contentView setNeedsUpdateConstraints];
这是有效的,但是layoutMargins属性没有使用这个约束的效果,所以显然没有固定的边缘,而是直接到超级视图.
所以我的问题是:
如何使用视觉格式语言将UI元素空间固定在代码中?或者如果不可能,如何使用constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:API?
谢谢!
所以使用视觉格式语言的答案如下:
// programmatically set the layoutMargins,only if // you want non-default values and they are not already set in IB! self.contentView.layoutMargins = UIEdgeInsetsMake(0,42,42); // set left and right margins to 42 // assume: seperatorView is already a subview of self.contentView // separatorView will use the constraints because we write "-" between it and the superview edge NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|-[separatorView]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(separatorView)]; [self.contentView addConstraints:constraints];
如果要通过直接API创建约束时引用布局边距,则使用新的仅限iOS8布局属性:
NSMutableArray * constraints = [NSMutableArray array]; [constraints addObject:[NSLayoutConstraint constraintWithItem:self.contentView attribute:NSLayoutAttributeLeftMargin relatedBy:NSLayoutRelationEqual toItem:separatorView attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]]; [constraints addObject:[NSLayoutConstraint constraintWithItem:self.contentView attribute:NSLayoutAttributeRightMargin relatedBy:NSLayoutRelationEqual toItem:separatorView attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]]; [self.contentView addConstraints:constraints];
以上是大佬教程为你收集整理的iOS8自动布局编程相对布局边距全部内容,希望文章能够帮你解决iOS8自动布局编程相对布局边距所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。