gpt4 book ai didi

ios - 检测 UIView 中的 iOS 8 方向变化

转载 作者:可可西里 更新时间:2023-11-01 05:03:45 26 4
gpt4 key购买 nike

我在 iOS8 中使用 TraitCollectionDidChange 检测常规和紧凑尺寸类。

我试图在屏幕上水平放置一组特定的数据,它不适合纵向 iPad Mini 上的水平类常规,但在横向中会有足够的空间。

问题是 Horizo​​ntal SizeClass 在 Portrait 和 Landscape 中是Regular,所以 TraitCollectionDidChange 不会触发,我也不会被告知方向改变。

我听说过对 viewWillTransitionToSize 的引用,但这在 UIView 中不可用。

Apple 是否表示他们不希望 UI 布局与 Horizo​​ntal Class Regular - Portrait 和 Horizo​​ntal Class Regular - Landscape 不同?

如果可以,我如何在 UIView 中获悉方向更改?

最佳答案

只需将方法 -(void) layoutSubviews 添加到您的 UIView 子类中。只要 View 的尺寸发生变化,它就会被调用。不要忘记在新方法中调用 [super layoutSubviews]。

然后你可以检查 self.traitCollection.verticalSizeClass 和 self.traitCollection.horizo​​ntalSizeClass 看看你在看什么。

-(void) layoutSubviews
{
[super layoutSubviews];

// your code here...
}

关于ios - 检测 UIView 中的 iOS 8 方向变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com