Ios 如何以编程方式获得iPhone屏幕大小?

Ios 如何以编程方式获得iPhone屏幕大小?,ios,objective-c,iphone,uiscreen,Ios,Objective C,Iphone,Uiscreen,可能重复: 我已经从对象库中拖出了“视图”,并将其放在xib文件中 但是,如果我想获得屏幕大小,以检查其iPhone4、iPhone3、iPhone5或任何iOS设备,该怎么办 因此,我可以相应地安排其他视图。您可以根据需要获得iPhone屏幕的大小 CGSize size = [UIScreen mainScreen].bounds.size; 您可以使用: CGsize screenSize = [[[UIScreen mainScreen] bounds] size]; CG

可能重复:

我已经从对象库中拖出了“视图”,并将其放在xib文件中

但是,如果我想获得屏幕大小,以检查其iPhone4、iPhone3、iPhone5或任何iOS设备,该怎么办


因此,我可以相应地安排其他视图。

您可以根据需要获得iPhone屏幕的大小

CGSize size = [UIScreen mainScreen].bounds.size;
您可以使用:

CGsize screenSize      = [[[UIScreen mainScreen] bounds] size];
CGFloat widthOfScreen  = screenSize.width;
CGFloat heightOfScreen = screenSize.height;

您可以通过
ui屏幕
属性了解它

[[UIScreen mainScreen] bounds].size.height;
[[UIScreen mainScreen] bounds].size.width;
iPhone 5和iPod touch 5gen的高度为568

其他iPhone和iPod的高度为480

编辑:在iOS 8上,高度和宽度取决于方向,因此此尺寸用于纵向,而在横向上,此尺寸将用于宽度。所以,最好的选择是同时阅读这两本书并尽最大努力

UIScreen *screen = UIScreen.mainScreen;

它有你所需要的一切,包括边界和比例(视网膜和非视网膜可能不同)。

为什么iphone 5和ipod touch 5gen的高度是568而不是1136?因为它是真实的大小,而不是像素大小,如果你想要像素大小,你必须乘以[[UIScreen mainScreen]边界。size.height*[UIScreen mainScreen]。scale(您必须使用类似的方法,因为在某些情况下,缩放不可用CGFloat scale=([mainScreen respondsToSelector:@selector(scale)]?mainScreen.scale:1.0f);)谢谢,我想我知道原因。你本可以投票结束这个问题,而不是回答重复的问题,娱乐那些不想在发布问题之前搜索的人。@rohan patel:谢谢你的评论。我会这么做的。非常感谢。请不要把这当作个人问题。这样网站将保持清晰,并在那里我不是一堆重复的问题。希望你能理解。@rohan patel:是的,作为一名评审员,我知道。:)如果你的应用程序只设计为横向或纵向模式,你需要比较宽度和高度来确定正确的大小。我们再也不能可靠地获得方向了。例如,我有一个仅为纵向模式设计的应用程序,但如果在iPad上以横向模式打开,则宽度和高度会混淆。使用
[[UIScreen mainScreen]bounds]
[[UIScreen mainScreen]applicationFrame]
使用以下代码[UIScreen mainScreen].bounds.size每个简单的问题。我希望在我打字的30秒内,其他一些主题能得到6个答案;)只是我先尝试了这个门户网站,你可以在合理的时间内得到准确的答案。有时谷歌给出的比你要求的更多,所以它变得令人困惑。为什么这样重复的问题没有被标记并投票关闭/
UIScreen *screen = UIScreen.mainScreen;