按钮未出现在 iOS 10 中

Posted

技术标签:

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

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

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

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

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

有什么想法吗?

【问题讨论】:

【参考方案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 我的回答有效吗?如果是这样,您可以安全地忽略输出,这里有一个解释:***.com/questions/39521667/… @T.Kearsley 对您有用,请接受其中一个答案!编辑:对不起,我刚刚看到你这样做了。

以上是关于按钮未出现在 iOS 10 中的主要内容,如果未能解决你的问题,请参考以下文章

iOS 10 NSUserActivity,位置建议 - MKMapItem 未出现在地图中

导航栏项目中未显示标题和后退按钮(iOS 7)

iOS ApplePay PKPaymentAuthorizationViewController 未出现在 Xcode11/iOS 13 中

弹出窗口未出现在 iOS 中

UICollectionView,按钮未出现

iOS iPad 上未显示 HTML5 视频播放按钮