首页 > 代码库 > [[UIScreen mainScreen] bounds]获取尺寸不对

[[UIScreen mainScreen] bounds]获取尺寸不对

最近用Xcode6开发遇到一个莫名其妙的bug,Xcode6以前重来没遇见过,苹果原生的UIScreen获取屏幕大小不对,我用iPhone5的模拟器,获取到的屏幕大小尽然是320x480,显示出的效果呢就是上下分别一条黑带,控制器的View以480高度显示在中间,原因呢是项目设置中的Launch Images Source没有设置好(设置成了User Asset Catalog,这时又没有指定正确的Images所以尺寸就不对了)如下图所示: 

解决办法1:(现在Images.xassets中创建LaunchImage,然后去ImageSource去选择)

解决办法是在Images.xcassets中创建LaunchImage,并将它做为Launch Images Source(点击Use Asset Catalog,选择Imges Source,这前提是在Images.xcassets中先创建LaunchImage,这样才能在Images Source检测到你创建的LaunchImage)

 

解决办法2:(点击Use Asset Catalog然后点击Migrate自动在Image.xassets中生成一个LaunchImage,然后再去Images.xcassets中设置图片)

如果你的Images.xcassets中有LaunchImage,它会有个下拉框让你选LaunchImage或者don‘t use asset catalog)就可以了。如果没有则会弹出如下图所示的界面,

然后选择Migrate,接下来会看到Images.xcassets里自动生成了一个LaunchImage,如下图所示:

ImageSource设置成功标志:

 

[[UIScreen mainScreen] bounds]获取尺寸不对