Ios iPad2在移动到“横向”之前会停留一秒钟
我们有一个应用程序,这是唯一的景观,这是伟大的所有苹果设备。 它也有发射图像。 我们被这个错误迷住了 我们仅在设备方向菜单中设置横向应用程序。 所有视图仅在代码中定位 仅在Ios iPad2在移动到“横向”之前会停留一秒钟,ios,objective-c,xcode,ios7,Ios,Objective C,Xcode,Ios7,我们有一个应用程序,这是唯一的景观,这是伟大的所有苹果设备。 它也有发射图像。 我们被这个错误迷住了 我们仅在设备方向菜单中设置横向应用程序。 所有视图仅在代码中定位 仅在iPad2(iOS7)上发生的情况是,当您在视图之间切换时,您会在一秒钟内看到一种纵向模式(这看起来很糟糕,因为图形仅用于横向,所以图像显示在半屏幕上),然后在一秒钟后切换回横向 对于其他一些视图,iPad2由于某些原因只能永远停留在纵向上-这意味着我们可以在半屏幕上看到图形。它的位置不正确 我们得到的屏幕大小很好 f
iPad2(iOS7)
上发生的情况是,当您在视图之间切换时,您会在一秒钟内看到一种纵向
模式(这看起来很糟糕,因为图形仅用于横向,所以图像显示在半屏幕上),然后在一秒钟后切换回横向
对于其他一些视图,iPad2
由于某些原因只能永远停留在纵向上-这意味着我们可以在半屏幕上看到图形。它的位置不正确
我们得到的屏幕大小很好
float width=[UIScreen mainScreen].bounds.size.width;
float height=[UIScreen mainScreen].bounds.size.height;
768/1024
****用故事板制作的视图是可以的-用软件制作的其他视图是不好的。我使用以下代码(基于上面评论中给出的链接):
因为在iOS 8中,边界取决于方向。不管怎样,你试过使用nativebounds吗?
BOOL OSIsBelowIOS8 = [[[UIDevice currentDevice] systemVersion] floatValue] < 8.0;
if(OSIsBelowIOS8) {
if( [ [ UIScreen mainScreen ] respondsToSelector: @selector( nativeBounds ) ] )
{
self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] nativeBounds]];
}
else
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
}
} else {
self.window = [[UIWindow alloc] initWithFrame: [self screenBoundsOrientationDependent] ];
}
//Always return the iOS8 way - i.e. height is the real orientation dependent height
- (CGRect)screenBoundsOrientationDependent {
UIScreen *screen = [UIScreen mainScreen];
CGRect screenRect;
if (![screen respondsToSelector:@selector(fixedCoordinateSpace)] && UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) {
screenRect = CGRectMake(screen.bounds.origin.x, screen.bounds.origin.y, screen.bounds.size.height, screen.bounds.size.width);
} else {
screenRect = screen.bounds;
}
return screenRect;
}