如何在 xcode4.3 中获取和修改显示屏幕尺寸
Posted
技术标签:
【中文标题】如何在 xcode4.3 中获取和修改显示屏幕尺寸【英文标题】:how can I get and modify the display screen size in xcode4.3 【发布时间】:2013-10-20 00:59:19 【问题描述】:我正在开发一个应用程序,我希望它可以在 iPhone 4 和 5 上使用,因为 iPhone 5 已将其尺寸更改为 4 英寸,所以我希望我的应用程序可以支持 4 英寸,但在 Xcode4 .3 没有自动布局,正因为如此,不知有没有办法把显示屏幕尺寸改成4寸,非常感谢!
【问题讨论】:
用代码而不是 IB 制作你的应用 你为什么使用 xcode 4.3? 升级到 4.6 或更高版本并使用这个:***.com/a/18132334/2535467. 即使没有自动布局,仍然有自动调整大小。 Autoresize 是在自动布局之前使用的,用于管理视图的大小和放置,尽管它远没有自动布局那么复杂。根据您的应用程序,它可能会起作用。但是,如果可以,我建议您更新 Xcode。 最后,我将Xcode更新到4.5,解决这个问题很容易 【参考方案1】:您可以使用以下代码获取屏幕尺寸:
CGRect screenBounds = [[UIScreen mainScreen] bounds];
UIViewController *ViewController;
[self loadall];
if (screenBounds.size.height == 568)
NSLog(@"User is using an iPhone 5+");
BOOL isUsingiPhone5 = YES;
else
NSLog(@"User is using an iPhone 4s-");
BOOL isUsingiPhone5 = NO;
然后您可以相应地移动内容,CGRect
以下是根据屏幕尺寸移动广告横幅视图的示例:
-(void)bannerViewDidLoadAd:(ADBannerView *)banner
CGRect bannerFrame = banner.frame;
CGRect screenBounds = [[UIScreen mainScreen] bounds];
UIViewController *ViewController;
if (screenBounds.size.height == 568)
//iPhone5+
bannerFrame.origin.x = 0;
bannerFrame.origin.y = 518;
banner.frame = bannerFrame;
else
//iPhone4s-
NSLog(@"Showing ad, internet connection found.");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[banner setAlpha:1];
[UIView commitAnimations];
else
[banner setAlpha:0];
确保使用ViewController
作为UIViewController
变量,即使您的默认视图控制器命名为RootViewController 之类的名称。
希望这会有所帮助。如果您有任何问题,请随时发表评论!
【讨论】:
以上是关于如何在 xcode4.3 中获取和修改显示屏幕尺寸的主要内容,如果未能解决你的问题,请参考以下文章