我想获取屏幕的当前尺寸。我用 self.view.frame.size.width
NSLog(@"%f",self.view.frame.size.width)
所以当我在 iphone 模拟器中运行时,它会返回 320 但是,当我在 ipad 模拟器中运行时,它仍然会返回 320
我有 iphone 和 ipad 的不同 nib 文件,他们得到了正确的 nib 文件,目标系列是 ipad/iphone 它应该返回 768,所以我可以根据它调整图像的大小。
有任何想法吗?
我想获取屏幕的当前尺寸。我用 self.view.frame.size.width
NSLog(@"%f",self.view.frame.size.width)
所以当我在 iphone 模拟器中运行时,它会返回 320 但是,当我在 ipad 模拟器中运行时,它仍然会返回 320
我有 iphone 和 ipad 的不同 nib 文件,他们得到了正确的 nib 文件,目标系列是 ipad/iphone 它应该返回 768,所以我可以根据它调整图像的大小。
有任何想法吗?
尝试使用这些
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)
如图所示,将您的目标设备更改为通用
确保
self.view.autoresizesSubviews=NO;
Imageview.autoresizingMask=NO;
设置为 NO。
那会做你的工作
首先你检查这个: -
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];
在 iPad 模拟器中运行时是否正在使用您的 iPad Nib 文件?也许您想通过在 iPad 的 NIB 中更改某些内容(例如更改按钮的位置)来进行检查。这样,当 App 运行时,您可以检查它是 iPhone 的 NIB 还是 iPad 的 Nib。