【问题标题】:Different storyboard for iPhone 7 and 7 plusiPhone 7 和 7 plus 的不同故事板
【发布时间】:2017-06-23 10:12:59
【问题描述】:

我在中间有一个圆圈,我们称之为气泡。 现在,当我在情节提要中更改 iPhone 7 的视图时,它看起来像这样:

但是当我将其更改为 iPhone 7 Plus 时,它看起来像这样

圆圈不再是圆形了。当我除了视图之外没有更改任何其他内容时,这怎么可能?这个视图是否真的更新了故事板?

为了制作圆圈,我使用以下代码行:

self.bubble?.layer.cornerRadius = (self.bubble?.frame.height)! / 2

如果是,苹果会根据我安装应用程序的 iPhone 选择故事板吗?

【问题讨论】:

  • 您的标签可能没有固定的纵横比而是固定的底部尺寸限制!?
  • 您是否以编程方式设置圆圈?
  • @User511 是的,我使用 self.bubble?.layer.cornerRadius = (self.bubble?.frame.height)! / 2
  • 只为self.bubble设置宽高固定约束。它会对你有用。

标签: ios iphone storyboard xcode8


【解决方案1】:

可能视图宽度不等于高度。

在视图宽度和高度之间添加纵横比约束。

或者

您可以将固定的宽度和高度约束设置为@User511 提及。随便吧,适合你的。

此外,您可以在视图形成最终形状之前设置cornerRadius。尝试将以下内容移至viewWillAppearviewDidLayoutSubviews 方法:

self.bubble?.layer.cornerRadius = (self.bubble?.frame.height)! / 2

【讨论】:

  • 我有一个宽高比限制,当我在 iPhone 7 plus 上运行它时看起来还不错。
  • 你确定这个常量在运行时不会被破坏吗?
  • 我在模拟器上测量了你的气泡的宽度和高度。看起来不错。看起来您在视图形成最终形状之前设置了角半径。试试 willappear 或 didlayout 方法。
  • 是的,你是对的,这是我现在将角半径的设置移动到 viewDidLayoutSubviews 的问题,现在它可以工作了;)
【解决方案2】:

为您的圈子添加自动布局约束。纵横比 1:1 将帮助您

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多