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

Ios 如何根据设备方向更改堆栈视图方向?,ios,swift,xcode,Ios,Swift,Xcode,对于尺寸等级为regular的iPad,无论是纵向还是横向,我都希望强制使用堆栈视图 horizontal if device is in portrait mode vertical if the device is in landscape mode 虽然我可以在故事板中为R:R设置堆栈视图方向,但我无法根据纵向/横向模式进行设置。 如何实现这一点?有一个内置的UIViewController方法可以实现这一点。下面是堆栈视图: override func traitCollectionD

对于尺寸等级为regular的iPad,无论是纵向还是横向,我都希望强制使用堆栈视图

horizontal if device is in portrait mode
vertical if the device is in landscape mode
虽然我可以在故事板中为R:R设置堆栈视图方向,但我无法根据纵向/横向模式进行设置。
如何实现这一点?

有一个内置的UIViewController方法可以实现这一点。下面是堆栈视图:

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

你没有听这个问题。在iPad上,特征集合大小等级在轮换时没有变化。倾听视图将改变大小事件,并使用水平/垂直比率来确定我们处于哪个方向。我做了一些尝试,但没有成功。在viewWillLayoutSubviews方法中设置堆栈视图轴似乎不起作用。你说的will change size活动到底是什么意思?我是说