gyo*_*dor 34 iphone screen objective-c dimensions
您好我想获得主视图的宽度和高度.我想在横向或纵向模式下使用正确的值.我尝试过以下方法:
NSLog(@"aaa %f", [UIScreen mainScreen].applicationFrame.size.width);
NSLog(@"zzz %f", self.view.frame.size.width);
Run Code Online (Sandbox Code Playgroud)
这些在横向模式下提供300,在纵向模式下提供320,是的在纵向模式下更大.所以..我的视图占据整个屏幕( - 状态栏)所以我希望横向模式为480,纵向模式为320.其余像素发生了什么.我必须对这些值进行硬编码吗?谢谢.
小智 102
以下任何一行都适合您吗?
[[UIScreen mainScreen] bounds].size.height
[[UIScreen mainScreen] bounds].size.width
Run Code Online (Sandbox Code Playgroud)
我想你可以减去状态栏的高度?也许我不理解你的问题
试试这个 :
UIWindow* window = [UIApplication sharedApplication].keyWindow;
NSLog(@"%f",window.frame.size.width);
Run Code Online (Sandbox Code Playgroud)
有用的宏将根据设备方向为您提供正确的大小:
#define SCREEN_WIDTH ((([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) || ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)) ? [[UIScreen mainScreen] bounds].size.width : [[UIScreen mainScreen] bounds].size.height)
#define SCREEN_HEIGHT ((([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) || ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)) ? [[UIScreen mainScreen] bounds].size.height : [[UIScreen mainScreen] bounds].size.width)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56431 次 |
| 最近记录: |