0

我想获取屏幕的当前尺寸。我用 self.view.frame.size.width

NSLog(@"%f",self.view.frame.size.width)

所以当我在 iphone 模拟器中运行时,它会返回 320 但是,当我在 ipad 模拟器中运行时,它仍然会返回 320

我有 iphone 和 ipad 的不同 nib 文件,他们得到了正确的 nib 文件,目标系列是 ipad/iphone 它应该返回 768,所以我可以根据它调整图像的大小。

有任何想法吗?

4

5 回答 5

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)
于 2013-05-02T09:28:00.193 回答
1

如图所示,将您的目标设备更改为通用

在此处输入图像描述

于 2013-05-02T12:33:31.360 回答
0

确保

 self.view.autoresizesSubviews=NO;
 Imageview.autoresizingMask=NO;

设置为 NO。

那会做你的工作

于 2014-03-22T07:18:07.820 回答
0

首先你检查这个: -

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 和

如果(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];

于 2013-05-02T09:42:06.360 回答
0

在 iPad 模拟器中运行时是否正在使用您的 iPad Nib 文件?也许您想通过在 iPad 的 NIB 中更改某些内容(例如更改按钮的位置)来进行检查。这样,当 App 运行时,您可以检查它是 iPhone 的 NIB 还是 iPad 的 Nib。

于 2013-05-02T09:18:12.107 回答