ios - 方向更改后如何强制拥抱 UILabel 内容

标签 ios iphone objective-c autolayout

我的 View Controller 上有两个 View (UILabels),下一个布局: layout

我想在设备方向改变后重新计算约束,所以我的top label 应该只有一行,bottom label 应该向上移动以保持与 top label 相同的偏移量(top label 在容器)。

enter image description here

我怎样才能实现它?

如果我尝试使用 [self.toplabel sizeToFit]; 它会打破我所有的大小限制来设置新大小,这对我来说很重要,忽略这两个标签之间的垂直空间。

我试过:

[self.longLabel sizeToFit];

[self.botLabel layoutIfNeeded];
[self.botLabel setNeedsUpdateConstraints];
[self.botLabel updateConstraintsIfNeeded];
[self.botLabel needsUpdateConstraints];

但没有结果。约束不想重新计算自己。

enter image description here

最佳答案

更改方向后,您是否尝试过 [label sizeToFit];

你可以在每次方向改变后调用通知方法

关于ios - 方向更改后如何强制拥抱 UILabel 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21400131/

相关文章:

iphone - Objective-C 中的协议(protocol)范例

ios - 生成随机数并在添加/减去它们后比较 objective-c 中的结果

ios - CoreData 具有关系的抽象实体

ios - 处理重叠的 MKAnnotationView(s)

iphone - 您如何确定 future 转型的框架?更新 : More elegant way?

ios - CloudKit 的单元测试

ios - 关闭 View Controller 后未调用 Swift viewWillAppear

iphone - 使 iPhone 应用程序在 iTunes 和 Cydia 上均可用

javascript - 重新格式化为横向 View

iPhone 开发 : How to build a custom view hierarchy?