【问题标题】:Xcode autolayout alternating between two different layoutsXcode 自动布局在两种不同布局之间交替
【发布时间】:2013-09-02 18:52:05
【问题描述】:

我在我的应用程序中遇到了一个奇怪的问题,我运行它的一半时间它正确呈现布局,而另一半时间,某个子视图垂直定位不正确。

奇怪的是它发生在不同的运行中,即使我根本没有更改布局约束或触摸情节提要。

我记得看到一些关于随机化冲突约束的设置......我想知道这是否是这里发生的事情。其中一个限制可能不应该存在?

【问题讨论】:

    标签: objective-c xcode ios6 autolayout


    【解决方案1】:

    我认为您的布局不明确。

    通过在相关视图控制器中使用这段代码来验证这一点:

    - (void)viewDidLayoutSubviews
    {
    [super viewDidLayoutSubviews];
    NSLog(@"%@",[self view] performSelector:@selector(_autolayoutTrace)]]);
    }
    

    在控制台的输出中查找不明确的视图。

    【讨论】:

    • 是的,确实存在模棱两可的布局。现在有什么方法可以弄清楚模糊约束是什么?
    • 感谢您指出错字。我已经纠正了。因此,既然您知道哪些视图是模棱两可的,那么您现在可以努力解决这种模棱两可的问题。当视图不明确时,意味着它在两个轴(X 和 Y)上没有至少两个约束。如果您需要在运行时检查它们,还可以通过调用 [视图约束] 打印出特定视图上的约束。
    • @eptdeveloper 抱歉,我对您的一个答案投了反对票,让您感到受伤。
    • @mattyohe : 实际上是的,我感觉到了,如果我给出答案也没关系,那么我也必须接受反对票,我也对你感到抱歉。
    猜你喜欢
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2012-10-04
    相关资源
    最近更新 更多