繁体   English   中英

在UIView中检测iOS 8方向更改

[英]Detecting iOS 8 Orientation change in UIView

我在iOS8中使用TraitCollectionDidChange检测Regular和Compact大小类。

我试图在屏幕上水平放置一组特定的数据,但它不适用于Portrait iPad Mini上的Horizo​​ntal Class Regular,但是Landscape中会有足够的空间。

问题是Horizo​​ntal SizeClass在纵向和横向上是常规的 ,因此TraitCollectionDidChange不会触发,我也不会被告知Orientation更改。

我听说过viewWillTransitionToSize引用,但在UIView中没有。

Apple是否表示他们不希望水平类常规的UI布局差异 - 纵向和水平类常规 - 风景?

如果可以这样做,我如何在UIView中告诉我们方向改变?

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

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

-(void) layoutSubviews
{
    [super layoutSubviews];

    //   your code here...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM