iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iPhone(/ iPad)上的高度和宽度大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这只是一个测试应用程序,只有一个AppDelegate类可以创建我创建的基于Window的应用程序,将支持的方向设置为仅限于info.plist中的格局,然后添加以下代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
[application setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];

// Override point for customization after application launch.
UIAlertView *test = [[UIAlertView alloc] initWithTitle:@"hu" message:@"hui" delegate:nil cancelButtonTitle:@"hi" otherButtonTitles:nil];
[test show];
[window makeKeyAndVisible];
    NSLog(@"win %f - %f",window.bounds.size.width,window.bounds.size.height);
return YES;
}

如果没有设置状态栏方向的第一行,即使界面的其余部分处于横向左侧,警报视图也会以纵向显示.

无论如何,日志仍然给出了:

win 768.000000 - 1024.000000

这是错误的方式(因此当我在我的真实应用程序中添加子视图时,框架不正确)

苹果似乎已经在界面旋转方面变得非常糟糕,因为我只有问题,我不记得在iPhone上发生过这种情况,所以请有人告诉我如何解决这个问题.

我会给那些能够至少解释为什么会发生这种情况并希望提供解决方案的人提供500点声誉(这几乎不是我的声誉).

解决方法

我认为 iOS Application Programming Guide“Launching in Landscape Mode”主要解释了您的测试应用程序发生了什么:

就您的测试应用而言,关键部分是最后一部分.您没有视图控制器,因此您完全有责任根据需要设置UI.这就是您必须手动设置状态栏方向的原因.

我读了第一段,说iOS应用程序总是以纵向模式启动,然后根视图控制器旋转其视图以立即匹配设备方向,并且一旦将其添加到窗口就没有动画.这意味着UIWindow本身不会旋转,因此其尺寸将始终以纵向方向(如tadej5553所述).此外,所有UIWindow子视图的帧也将是纵向方向(因为帧始终在父视图的坐标中定义).因此,无论您如何旋转设备,根视图控制器的框架始终都是纵向方向.但是,由于视图的bounds属性是根据其自己的坐标定义的,因此该高度和宽度应反映视图的当前方向.

目前尚不清楚您要使用真实应用程序完成什么,但建议的做法是为纵向布局您的视图,然后设置其自动调整属性以处理自动旋转(无论是在应用程序启动后或之后立即发生) .

大佬总结

以上是大佬教程为你收集整理的iPhone(/ iPad)上的高度和宽度全部内容,希望文章能够帮你解决iPhone(/ iPad)上的高度和宽度所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: