如何根据设备方向更改堆栈视图方向?

     2023-02-24     199

关键词:

【中文标题】如何根据设备方向更改堆栈视图方向?【英文标题】:How to change stack view orientation depending on device orientation? 【发布时间】:2021-03-21 20:05:11 【问题描述】:

对于尺寸等级为常规-常规的 Ipad,适用于纵向/横向两种设备方向,我想强制堆栈视图为

horizontal if device is in portrait mode
vertical if the device is in landscape mode

虽然我可以在故事板中为 R:R 设置堆栈视图方向,但我无法根据纵向/横向模式进行设置。 我怎样才能做到这一点?

【问题讨论】:

监听“view will change size”事件并使用水平/垂直比例来了解我们所处的方向。 我做了一些尝试,但没有成功。在 viewWillLayoutSubviews 方法中设置堆栈视图轴似乎不起作用。 “将改变大小”事件到底是什么意思? 我的意思是developer.apple.com/documentation/uikit/uicontentcontainer/… 【参考方案1】:

有一个内置的 UIViewController 方法可以做到这一点。下面的“stack”是堆栈视图:

override func traitCollectionDidChange(_ previousTraitCollection: 
UITraitCollection?) 
    if view.traitCollection.verticalSizeClass == .compact 
        stack.axis = .horizontal
     else 
        stack.axis = .vertical
    

【讨论】:

你没有听问题。在 iPad 上,特征集合大小类在旋转时没有变化。

根据设备方向快速更改约束

】根据设备方向快速更改约束【英文标题】:Swiftchangingconstraintsdependingondeviceorientation【发布时间】:2017-11-0218:54:15【问题描述】:当设备从纵向旋转到横向时,视图的宽度约束会更新,但是当设备从横向旋转到纵向时它不会更... 查看详情

更改 iPhone 中的方向时如何更改视图控制器的视图?

】更改iPhone中的方向时如何更改视图控制器的视图?【英文标题】:HowtochangeviewoftheviewcontrollerwhenchangetheorientationiniPhone?【发布时间】:2011-07-0508:49:05【问题描述】:我正在开发一个支持2个方向的iPhone应用程序。我有这个视图控... 查看详情

设备方向更改时如何重新排列集合视图单元格

】设备方向更改时如何重新排列集合视图单元格【英文标题】:Howtorearrangecollectionviewcellwhendeviceorientationchanges【发布时间】:2014-10-1606:46:56【问题描述】:在纵向模式下,收藏视图看起来不错。但是当它是横向模式时,单元格不... 查看详情

更改 stackview 轴时打破约束

...布时间】:2018-03-1021:19:54【问题描述】:我目前正在尝试根据设备的方向更改堆栈视图上的轴。手机垂直时一切正常,但一旦我水平移动,我的限制就会打破。目前,我在垂直堆栈视图中有蓝色视图和橙色视图。我将堆栈视图固... 查看详情

在设备方向更改时交叉淡入某些 UIView

...问题描述】:我有一点关于当iOS设备改变方向时某些视图如何旋转的问题。我现在正在开发一个应用程序,它基本上由2个视图控制器组成:第一个是嵌入在UINavigationController中的UITableViewController, 查看详情

如何使用状态动态更改 React Native 转换?

】如何使用状态动态更改ReactNative转换?【英文标题】:HowtodynamicallychangeReactNativetransformwithstate?【发布时间】:2019-11-0321:05:14【问题描述】:我正在构建一个自定义视图,它将根据设备方向旋转其内容。这个应用程序的方向锁定... 查看详情

根据设备方向更改图像

】根据设备方向更改图像【英文标题】:Changingimagesdependingondeviceorientation【发布时间】:2012-12-1616:11:06【问题描述】:我正在为一家本地公司使用PhoneGap构建一个基本的网络应用程序。我为应用程序顶部的标题/横幅创建了两个图... 查看详情

根据设备方向在 alloc/init 上设置正确的 UIView 帧大小

】根据设备方向在alloc/init上设置正确的UIView帧大小【英文标题】:SettingthecorrectUIViewframesizeonalloc/initdependingondeviceorientation【发布时间】:2011-03-0608:11:55【问题描述】:我已将所有视图设置为纵向模式,然后相应地设置自动调整... 查看详情

以编程方式快速更改设备方向 4 IOS 11 [重复]

...题描述】:我想将我的应用程序的某些视图限制为横向。如何实现此功能。根据Apple指南这是否可行。【问题讨论】:我专门询问了swift4和IOS11,您认为的重复项已被弃用。从问题中删除重复项,以便 查看详情

uiviewcontroller中的设备方向更改[重复]

...更改视图内容。但是,执行此操作的函数似乎已被弃用。如何解决?【问题讨论】:【参考方案1】:在“didFinishLaunch 查看详情

切换方向时从堆栈视图中删除的元素

...以紧凑宽度安装(通过界面生成器)。这工作正常,除非设备旋转并从紧凑宽度变为常规宽度。然后,有问题的按钮出现在屏幕的左上角,而不是在通常以常规宽度出现的堆栈视图中。如果设备(iPhone6sP 查看详情

iPad - 根据设备方向(纵向或横向)更改图像

】iPad-根据设备方向(纵向或横向)更改图像【英文标题】:iPad-Changeimagedependingondeviceorientation(PortraitorLandscape)【发布时间】:2012-08-2920:04:42【问题描述】:在我的viewDidLoad方法中,我正在应用一个“加载图像”,它会在webView完... 查看详情

对象在视图中和设备方向更改后位置不正确

】对象在视图中和设备方向更改后位置不正确【英文标题】:Objectspositionincorrectlyinviewandafterdeviceorientationchanges【发布时间】:2012-05-3123:29:39【问题描述】:我正在创建一个iOS应用程序。它在导航控制器中运行。在我最近构建的... 查看详情

快速方向视图更改

...中视图更改的信息。我试图跟随特定视图的方向变化。当设备处于纵向模式时,我对按钮列表(4)进行了比较,但我想在设备切换到横向模式时将它们显示为两行中的4个方形按钮。例如,在纵向模式下|按钮1||按钮2||按钮3||按钮4|... 查看详情

如何在 iOS 中随设备更改 [UIApplication sharedApplication].window 方向

】如何在iOS中随设备更改[UIApplicationsharedApplication].window方向【英文标题】:Howtochange[UIApplicationsharedApplication].windoworientationalongwithdeviceiniOS【发布时间】:2015-04-1311:39:08【问题描述】:在我的应用程序中,我想将UIview添加为AppDelega... 查看详情

如何在 React Native 中根据设备类型设置强制设备方向?

】如何在ReactNative中根据设备类型设置强制设备方向?【英文标题】:HowtosetforcedeviceorientationbasedondevicetypeinReactNative?【发布时间】:2021-04-2516:22:14【问题描述】:我有一个ReactNative应用程序,对于该应用程序中的某些屏幕,我需... 查看详情

方向/配置更改后如何维护 ListView 片段状态?

】方向/配置更改后如何维护ListView片段状态?【英文标题】:HowtomaintainListViewfragmentstateafterorientation/configurationchange?【发布时间】:2015-03-3012:43:10【问题描述】:我的应用程序中有一个ListView片段遇到了一些问题。当我滚动到列... 查看详情

如何在 Objective-C 中不旋转的视图控制器中检测设备的真实方向?

】如何在Objective-C中不旋转的视图控制器中检测设备的真实方向?【英文标题】:HowtodetectrealorientationofthedeviceinaviewcontrollerwhichdoesnotrotateinObjective-C?【发布时间】:2021-09-0808:08:04【问题描述】:我有一个始终处于纵向的视图控制... 查看详情