【问题标题】:Changing initial view Controller depending on iPhone screen size根据 iPhone 屏幕尺寸更改初始视图控制器
【发布时间】:2014-03-08 06:32:32
【问题描述】:

我想知道是否可以根据设备屏幕大小更改初始视图控制器。 在我的应用程序中,我需要在背景图像上的固定位置设置一些按钮,因此我需要根据屏幕尺寸(iPhone 4 或 iPhone 5),应用程序启动一个初始 viewController,配置为适合 iPhone 4 屏幕尺寸,或其他 viewController,配置为适合 iPhone 5 的屏幕尺寸。

我正在使用故事板。

谢谢。

已更新。

我包括背景图片,在我想添加按钮的白色圆圈内。就像现在一样,如果我使用 storyBoard 放置按钮,它们不会在两种屏幕尺寸上重合。

【问题讨论】:

    标签: ios


    【解决方案1】:

    我的建议是这样做不好,请使用 1 个 viewController,它可以使用 AutoLayout 或使用弹簧和支柱使其适应任何屏幕尺寸。

    这也是学习 AutoLayout 的好机会,因为它非常重要 检查Raywenderlich Tutorial about Autolayout

    【讨论】:

    • 谢谢你,我会检查教程并尝试使用你的建议。
    • 但是如果由于某种原因你需要这样做,那么它会直接以编程方式加载你想要的任何视图控制器,并在第一次检查屏幕尺寸后将其设置为应用程序委托中的 rvc。
    • 是的,您可以通过编程方式更改视图控制器,但如果两者完全不同,在这种情况下,您可以为每个设备尺寸制作一个 ViewController!这不好。
    • 请看我更新的问题。谢谢
    【解决方案2】:

    我赞成 Hossam 的回答,即自动布局是要走的路,因为您使用的是故事板。但是,我可以为您想象的另一个用例是,您使用的背景图像是否取决于屏幕尺寸(iphone 3/4 vs 5/5s)。

    在这种情况下,除了按钮的自动布局之外,您还希望使用 Logan 的答案并检查屏幕边界,例如在伪代码中

    if (iphone 5/5s, i.e. bounds size height 为 568) { 使用更大的背景 } 别的 { 使用备用的较小背景。 }

    换句话说,您可以选择合并他们的两个答案。

    【讨论】:

    • 请看我更新的问题。谢谢
    • 另一种解决方案可能是让圆圈脱离背景,并将它们用作自定义按钮——在这种情况下,您可以使用仅自动布局的解决方案。如果您坚持使用固定的 3.5" 和 4" 背景,那么您可以选择“分叉”情节提要,这样您就有两个共享相同视图控制器的视图控制器场景(一个用于 3.5,一个用于 4")。技巧是设置导航流以检测前面的视图控制器上的屏幕大小(例如,在 prepareforsegue 中)。
    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多