【问题标题】:Can I change position of draw based on orientation of device我可以根据设备的方向更改绘图位置吗
【发布时间】:2016-01-21 14:23:47
【问题描述】:

我正在尝试使用 swift 2.0 创建一个非常基本的 iOS 应用程序。我有一个想要在其上绘制的背景图像,但我希望绘图在横向和纵向模式下看起来一致。使用自动布局和约束是不可能的,因为只要方向改变,图像及其高宽比就会调整大小。我想知道是否可以根据设备的方向在垂直和水平方向上从页面边缘设置某种偏移量。我一直在尝试对其进行编码,但遇到了麻烦。我研究过使用 UIDeviceOrientation 但不确定如何在代码中准确实现它。任何帮助将不胜感激

【问题讨论】:

    标签: ios swift uidevice uideviceorientation


    【解决方案1】:

    我想到了两种方法来做到这一点。但是我还没有尝试过编码。

    1. 为设置的两个约束设置一个出口,即您在背景顶部绘制的 x 和 y。然后在设备方向更改时,您只需将 constraint.constant 更改为更适合的新值。

    2. 您可以使用界面构建器的内置功能来根据您正在处理的屏幕大小设置约束。您可以在界面构建器主视图的底部找到它...默认值为“w:任意,h:任意”

    【讨论】:

    • 您如何知道默认设备方向或应用启动时的方向
    • 我已经有一段时间没有改变方向了,但是你可以获取当前的屏幕边界并根据它设置约束,不是吗? 'UIScreen.mainScreen().bounds'
    • 我不知道。我对 iOS 很陌生。还在努力学习方法。 swift 类结构让我有点困惑
    • 我真的认为我的答案中的第二个选项更好,因为 iOS 将为您提供开箱即用的功能,您无需在代码中做任何事情
    【解决方案2】:

    Animal 的第二个想法很棒。你可以试试here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      相关资源
      最近更新 更多