2

我知道 iPhone 有 480 x 320 而 iPad 是 1024 x 768 但我不知道如何以编程方式确定。我会很感激我能得到的任何帮助。

4

1 回答 1

1
UITouch*yourTouchNameHere = [touches anyObject];
CGPoint yourPointNameHere=[touch locationInView:self.view];

这自动意味着触摸在屏幕上,因此返回的任何触摸点都是有效的,但下面的代码仍然可以帮助您理解:


接收屏幕尺寸:[UIScreen mainScreen].bounds.size

iOSDevice 的高度(以像素为单位)返回:

[UIScreen mainScreen].bounds.size.height

iOSDevice 的宽度(以像素为单位)返回:

[UIScreen mainScreen].bounds.size.width

iOSDevice 是 iPhone 吗:

if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){}

iOSDevice 是 iPad 吗:

if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad){}

此处的另一个stackOverflow 问题显示您也可以使用

以点(320x400 等)为单位返回整个屏幕分辨率:

CGRect screenBounds = [[UIScreen mainScreen] bounds];

返回屏幕分辨率比例:

CGFloat screenScale = [[UIScreen mainScreen] scale];

使用上述两行获取像素宽度和高度的另一种方法包括:

CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale);
于 2012-09-23T22:54:01.253 回答