iOS 约束冲突解决方法

iOS约束冲突一般分为两类:边距约束冲突或者尺寸冲突,通常可通过修改其中一方控件的约束优先级,这就使用到了content Hugging/content Compression Resistance,而使用的前提需要确定其控件大小,一般在autolayout成功约束后使用.

设置最大优先级,只要将该控件优先级设置的比另外一个高,就可以确保在发生约束冲突时改变另一个约束.

- (void)setContentHuggingPriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis NS_AVAILABLE_IOS(6_0);
同样的,就是可以设置控件最小优先级了
- (void)setContentCompressionResistancePriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis NS_AVAILABLE_IOS(6_0);

* Intrinsic Content Size:固有大小,像UIView之类控件都有自身固有大小.

另附:

  // 否则在6/6plus上不准确
  self.label.preferredMaxLayoutWidth = SCREEN_WIDTH - 40;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值