【发布时间】:2014-12-11 05:57:51
【问题描述】:
我有一个自定义的UITableViewCell,它只包含一个包含静态文本的UILabel,我在代码中编写了两个Autolayout 约束(使用常规方式但不是视觉格式)来固定单元格容器视图的标签,它适用于iOS 7 和iOS 8 设备,但在iOS 8 中有一个奇怪的问题:标签的顶部边缘距离容器的顶部边缘12 像素视图(这是正确且预期的指标),但在iOS 8 中比这更多,大约 20 个像素,并且标签的前缘也会发生相同的移动。
这是什么意思?与UIKit 相关的iOS 7 和iOS 8 之间的变化是否与UITableViewCells 相关,现在在其层次结构中包含一个隐藏的scrollView?
附言约束是:
constraint = [NSLayoutConstraint constraintWithItem:self.myLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeTop multiplier: 1.0 constant:12];
[self.contentView addConstraint:constraint];
constraint = [NSLayoutConstraint constraintWithItem:self.myLabel attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeading multiplier:1.0 constant:12];
[self.contentView addConstraint:constraint];
任何帮助将不胜感激...
【问题讨论】:
-
尝试设置
label.layoutMargins = UIEdgeInsetsMake(0,0, 0, 0),在iOS 8中默认边距为8pt。 -
试过了,没有任何改变
-
展示您的项目,以便我们知道如何修复它。
-
很抱歉我不能分享,这是一个大项目
标签: ios iphone ios8 autolayout nslayoutconstraint