我必须以编程方式为所有设备设置全屏UIView
,例如:iPhone 3GS,4,4S,5,5S,5C。
我用Google搜索了很多次并得到了答案,但它没有正常进行。底部20像素较少。我分享我的截图,请看,让我知道我必须做什么。
我的代码是:
UIView *myview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] applicationFrame].size.width, [[UIScreen mainScreen] applicationFrame].size.height)];
[myview setBackgroundColor:[UIColor grayColor]];
[self.view addSubview: myview];
从底部看,它的20像素为白色。我该怎么办呢。 ?
答案 0 :(得分:8)
试试这个:
UIView *myview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
[myview setBackgroundColor:[UIColor grayColor]];
[self.view addSubview:myview];
我会正确地澄清你,我想你可以理解。
[[UIScreen mainScreen] bounds] & [[UIScreen mainScreen] applicationFrame] 。
当您使用UIScreen
获取它的界限时,您将获得整个设备屏幕。 (包括状态栏)。除了在applicationFrame
边界坐标系中返回UIScreen
之外,两个调用之间没有关系。
答案 1 :(得分:1)
UIView *myview = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
[myview setBackgroundColor:[UIColor grayColor]];
[self.window addSubview: myview];
NSLog(@"FRAME: %@",NSStringFromCGRect(myview.bounds));
2014-09-11 12:17:37.451测试[21793:60b]框架:{{0,0},{320,480}}