gpt4 book ai didi

ios - toolsVersion ="11201"弄乱了我的 Storyboard

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:03:34 26 4
gpt4 key购买 nike

将我的 xCode 更新到 8.0 并在我的设备上运行我的应用程序后,我注意到我在 Storyboard中的 Collection View 乱七八糟,框架不再适合该 View 。

只有当我打开 Storyboard时才会发生这种情况(似乎 xcode 在我第一次在 xcode 中打开文件后添加了一些属性)。当我用我的旧 Storyboard替换 Storyboard然后构建应用程序而不打开它时,一切都按预期工作。

经过数小时的搜索可能是什么原因并比较 Storyboard源代码(打开后新旧代码之间),我发现原因是在 Storyboard源顶部找到的 toolsVersion 属性代码。

     <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" 
toolsVersion="11201" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch"
propertyAccessControl="none" useAutolayout="YES" colorMatched="YES"
initialViewController="wZn-Em-z41">

当我将 toolsVersion="11201"替换为 toolsVersion="10116" 时,一切都会恢复正常。

如何强制工具版本为一个值?这个属性是什么,为什么它会打乱我的约束和框架。

感谢有关此问题的任何信息。

最佳答案

这里的问题是,对于工具版本 11201 (Xcode 8),具有完全限定约束的 View 似乎不再在 Storyboard中指定框架(因为约束将在运行时确定框架)。

因此在评估约束之前您不能依赖框架(即不要在 viewDidLoad 或 viewWillAppear 中使用框架)。一旦评估了约束,框架似乎就没问题了。在对它们进行评估之前,框架似乎报告为 1000 x 1000(至少,在各种情况下对我来说是这样)。

因此有两种解决方案:1) 为您的约束创建一个导出并使用它而不是依赖框架,或者 2) 评估约束后使用框架(例如,在 viewDidAppear 方法中)。

关于ios - toolsVersion ="11201"弄乱了我的 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39810463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com