【问题标题】:Change UIView / UIViewController on device orientation change在设备方向更改时更改 UIView / UIViewController
【发布时间】:2019-12-16 02:58:49
【问题描述】:

对于那些经常使用 iOS 日历的人来说,你知道当你改变手机的方向时,会出现另一个视图。我不确定这是否会更改为子视图、新的 UIViewController、大小类或 Apple 旋转的某些编程巫术。

我可以使用子视图来完成一些功能,该子视图会更改方向更改的约束,但仅此而已。它看起来很粗糙,我认为可能有更好的方法来模仿日历应用程序。

【问题讨论】:

    标签: ios device-orientation swift5.1


    【解决方案1】:

    它很可能使用UISplitViewController 来实现这个效果。这使您可以并排显示两个子视图控制器。

    您可以更改其preferredDisplayMode 属性以显示或隐藏辅助(或主)视图控制器或将其设置为.automatic 以使其为可用空间选择最合适的布局。

    【讨论】:

    • 我可以理解该解决方案,但我要创建的是辅助视图控制器仅在手机从纵向旋转到横向时才能看到。然后它将填满整个屏幕。就像日历应用程序一样。如果你旋转 pone,你会得到一个完全不同的视图。 (当然我现在看到的是树而不是森林。所以请随意戳我让我看到。;))
    • @JamieD 这正是 UISplitViewController 的用途
    • 上次我使用 UISplitViewController 时,它显然是一个不同的野兽。有没有在手机上使用 UISplitViewController 的例子,它只在手机方向改变时出现?我用谷歌搜索过,没有找到。
    • @JamieD 引用我的回答:“您可以更改其 preferredDisplayMode 属性以显示或隐藏辅助(或主要)视图控制器或将其设置为 .automatic 以让它选择最适合可用空间的布局。" 它应该检测方向变化并自动更改显示模式。您也可以手动控制,自己检测方向变化,并根据自己的喜好更改 preferredDisplayMode。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多