[英]Detecting iOS 8 Orientation change in UIView
我在iOS8中使用TraitCollectionDidChange检测Regular和Compact大小类。
我试图在屏幕上水平放置一组特定的数据,但它不适用于Portrait iPad Mini上的Horizontal Class Regular,但是Landscape中会有足够的空间。
问题是Horizontal SizeClass在纵向和横向上是常规的 ,因此TraitCollectionDidChange不会触发,我也不会被告知Orientation更改。
我听说过viewWillTransitionToSize
引用,但在UIView中没有。
Apple是否表示他们不希望水平类常规的UI布局差异 - 纵向和水平类常规 - 风景?
如果可以这样做,我如何在UIView中告诉我们方向改变?
只需将方法 - (void)layoutSubviews添加到您的UIView子类中。 每当视图的尺寸发生变化时,它都会被调用。 不要忘记在新方法中调用[super layoutSubviews]。
然后你可以检查self.traitCollection.verticalSizeClass和self.traitCollection.horizontalSizeClass来看看你在看什么。
-(void) layoutSubviews
{
[super layoutSubviews];
// your code here...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.