iphone - 任何自动布局大师能够启发我有关约束和旋转的知识吗?

标签 iphone ios xcode autolayout

我正在尝试通过纵向和横向 View 找出自动布局约束。在纵向中,我有一个 320x200 像素的容器 View (但任何 View 都可以)。当手机旋转至横向时,我希望容器 View 以 480x320 的尺寸填满屏幕。

现在我完全在 IB 中完成这件事,并且目前正在努力保持这种状态。当我尝试将 View 设置为按我希望的方式调整大小时,我很难应对出现的蓝色和紫色约束图标。

我看过 WWDC 自动布局视频,并且在其他 View 中也可以使用自动布局,但我就是无法实现这种看似简单的更改。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

在2012年WWDC视频228 - Mastering Auto layout中,他展示了这样的东西

for (UIView *aView in [yourViewController subviews]) {
if ([aView hasAmbiguousLayout]) {
    NSLog(@"View Frame %@", NSStringFromCGRect(aView.frame));
    NSLog(@"%@", [aView class]);
    NSLog(@"%@", [aView constraintsAffectingLayoutForAxis:1]);
    NSLog(@"%@", [aView constraintsAffectingLayoutForAxis:0]);

    [aView exerciseAmbiguityInLayout];
 }
}

尝试一下,看看是否有任何不明确的布局。当然,在旋转之后这样做,一切都不正确。

如果这不会产生任何结果,那么只需在您的特定 View 上使用constraintsAffectingLayoutForAxis 方法,您应该会看到约束不允许它更改。

很可能存在一个优先级太高的约束,您需要减少该约束。

关于iphone - 任何自动布局大师能够启发我有关约束和旋转的知识吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11943672/

相关文章:

ios - 传递 Parse PFobject objectID 映射注解 View 按钮标题

ios - 基于 UIView mask 的 UIImageView 图像裁剪

ios - isHidden 设置为 false 后无法选择隐藏的 textField

objective-c - 是否可以更改 UIButton 的操作?

iphone - 使用 UIImage 的大型 NSArray 时的内存问题

iphone - 如何找出屏幕方向,纵向还是横向?

iphone - 使用iPhone SDK,我可以以编程方式获取用户iPhone/iPod touch上的应用程序/游戏的列表吗?

ios - 无法从可选中获取 'some' 字段

iphone - iOS SDK : Adding AVCaptureVideoDataOutput to AVCaptureSession causes it to slowly leak memory indefinitely

iphone - 从未调用过 alertView didDismissWithButtonIndex