我想获得屏幕的当前尺寸。 我使用了self.view.frame.size.width
NSLog(@"%f",self.view.frame.size.width)
所以当我在iphone模拟器中运行时,它将返回320 但是,当我在ipad模拟器中运行时,它仍会返回320
我有iphone和ipad的不同nib文件 他们正在获取正确的nib文件,而目标系列是ipad / iphone 它应该返回768,所以我可以根据它调整图像大小。
任何想法?
答案 0 :(得分:2)
尝试使用这些
CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;
CGFloat screenheight = [UIScreen mainScreen].bounds.size.height;
但是UIScreen没有考虑当前的界面方向。 您还必须检查
或直接检查设备类型
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
和
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
答案 1 :(得分:1)
将目标设备更改为通用,如图所示
答案 2 :(得分:0)
在iPad模拟器中运行时是否使用了iPad Nib文件?也许你想通过在iPad的NIB中更改某些内容(可能更改按钮的位置)进行检查。这样,当应用程序运行时,您可以检查它是否是iPhone的NIB或iPad的笔尖。
答案 3 :(得分:0)
首先你检查一下: -
if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPhone) 和
if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad)
分配文件时: -
对于iPhone: - ABController * controller = [[ABController alloc] initWithNibName:@“ABController~iPhone”bundle:nil];
对于iPad: - ABController * controller = [[ABController alloc] initWithNibName:@“ABController~iPad”bundle:nil];
答案 4 :(得分:0)
确保
self.view.autoresizesSubviews=NO;
Imageview.autoresizingMask=NO;
设为NO。
那会做你的工作