【问题标题】:App crash with 'Could not instantiate class named NSLayoutConstraint'应用程序因“无法实例化名为 NSLayoutConstraint 的类”而崩溃
【发布时间】:2012-10-05 06:25:30
【问题描述】:

在 .xib 文件中,如何在 iOS 6 上保持自动布局打开,但在 iOS 6 以下时关闭。

如果我将其关闭,我的 .xib 将无法获得正确的布局。如果我在 4.3 崩溃时打开它。

任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: interface-builder ios6 iphone-5


    【解决方案1】:

    我认为这是不可能的,因为自动布局会改变您的应用程序的编译方式。我考虑过的解决方法是:

    • 检测显示器的高度并以编程方式更改一些元素(不错,但我已经这样做了,而这只是一个简单的更改)
    • 检测显示器的高度并以编程方式加载适当的笔尖(缺点是保持两个笔尖)
    • 忽略 4" 显示并提交带有黑色边框(假设没有人想要这个)
    • 尝试设计不会因拥有一些额外空间而受到影响的布局。 (这总是可取的,但并不总是可能的。UIScrollViews/UITableViews 绝对适合这个,但不是固定的全屏视图。)

    我自己仍在寻找更好的解决方案。

    这是我用来确定 4" 与 3.5" iphone 的代码:

    if (screenBounds.size.height == 568) {
        // code for 4-inch screen
    } else {
        // code for 3.5-inch screen
    }
    

    即使这看起来很骇人听闻,但请与 Apple 谈谈。 :|

    【讨论】:

      猜你喜欢
      • 2012-10-17
      • 2020-04-19
      • 2012-10-23
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多