【问题标题】:Button not appearing in iOS 10按钮未出现在 iOS 10 中
【发布时间】:2017-01-14 23:39:35
【问题描述】:

我在地图视图中添加了一个“帮助”按钮,如下所示。

当我在模拟器中(iPhone 7 模式)打开它时,按钮会出现并正确执行 segue。我将运行的 iOS 更改为 9.3,并在运行 9.3 的真实 iPhone 6 上进行了测试,并且按钮功能正常。但是,我在运行 10.0 的真实 iPhone 6 上对其进行了测试,但没有出现该按钮。

我认为这可能与自动布局有关,但它在故事板、模拟器和真实设备中看起来都很好。

我为下面的按钮附上了一张我的约束照片。

有什么想法吗?

【问题讨论】:

    标签: ios swift xcode autolayout ios10


    【解决方案1】:

    这可能无法解决您眼前的问题,但您应该应用尽可能多的约束以满足自动布局引擎的要求,并且不再。添加更多约束可能不会在相同大小的设备上引起冲突,但会在不同大小的设备上引起冲突,从而导致布局引擎必须决定要中断哪个。它通常会做出你不会做出的选择。您可以检查您的控制台以查看布局引擎是否违反了约束。

    如果你想要右下角的按钮,你只需要两个约束:尾随和底部。 UIButton 具有固有的内容大小,因此如果您有静态标题,则无需担心宽度或高度。您应该删除其他约束。

    【讨论】:

      【解决方案2】:

      您可以删除所有约束并仅使用底部的 20 和右侧(尾随)的 20 来很好地放置它。

      你可以玩弄这些数字,但主要的想法是你不需要用太多的限制来过度复杂化它。

      【讨论】:

      • 我已将约束更改为您所说的,但仍然无法正常工作。我意识到当单击按钮时控制台中出现错误 bjc[2303]: Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/....../AssetsLibraryServices (0x11ecf2998)和 /Applications/Xcode.app/..../PhotoLibraryServices (0x11eb14880)。将使用两者之一。哪一个是未定义的。
      • 它似乎可以运行,但是会导致此错误的原因是什么?
      • 你删除了旧的约束吗?
      • @T.Kearsley 我的回答有效吗?如果是这样,您可以安全地忽略输出,这里有一个解释:stackoverflow.com/questions/39521667/…
      • @T.Kearsley 对您有用,请接受其中一个答案!编辑:对不起,我刚刚看到你这样做了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-11
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多