【问题描述】
Single View Application 工程。
按照 的做法,将默认的正方形面板改成“iPhone”的面板。
给Main.storyboard的默认的面板加一个ImageView,满屏覆盖,然后它的“Image”属性设为一个png图像。在Main.storyboard中看到,png图像是满屏覆盖的。
在没有做任何特殊的修改的情况下,直接运行,发现:background.png往左上方偏了。
【原因】
从上图可以看出,模拟器是iPhone 6(4.7-inch)的。而默认的“Simulated Screen”是4-inch的。
选择 Editor -> Simulated Screen -> iPhone 4.7-inch -> Portrait,可以发现,ImageView的尺寸确实是4-inch屏的,在4.7-inch的模拟器中,确实是偏左上方的。
【解决】
假设我们不采用 提到的"Size Classes",而是明确要使用iPhone 5的4-inch屏。
Editor -> Simulated Screen 选项)
做法如下:
1)Editor -> Simulated Screen -> iPhone 4-inch -> Portrait,确保编辑状态下的界面就是4-inch的
2)适当调整 ImageView,让它满屏覆盖
3)在下面的设置中,选择iPhone 5,使得运行时的模拟器也是iPhone 5的
【其他】
- http://wzlz.blog.163.com/blog/static/75407050201182593140607/ 提到两种修改模拟器版本的方法:
方法一(永久,一旦设置后,每次运行指定的模拟器):
1)选择顶层菜单Project 中的 Set Active Executable
2)根据需要在iPhone Simulator 4.3和iPad Simulator 4.3两个选项中任选一个
【yasi】在XCode 6中没有找到这样的菜单
方法二(临时,每次调试模拟器时都会恢复原来的设置,适合在调试时临时测试不同模拟器的情况):
1)新建一个项目,运行程序,使得模拟器被打开
2)单击打开的模拟器,使得顶层菜单变更为模拟器菜单
3)选择顶层菜单中的“硬件”->“设备”
4)在弹出的菜单中选择所需的模拟器
【yasi】这样做确实能改变模拟器的版本,但是改变之后怎么运行自己的工程呢?
- http://stackoverflow.com/questions/24013316/how-can-i-run-the-ios-7-1-simulator-in-xcode-6-0-beta 提到另一种修改模拟器版本的方法:
(XCode 菜单)Window -> Devices,选择合适的模拟器
【yasi】试过了,比如选择了 iPhone 5,关闭这里的对话框,然后再运行工程,结果还是iPhone 6的模拟器。所以这个方法貌似不行。
==========================================
【yasi】
简单的在 "Attribute Inspector -> Simulated Metrics -> Size" 中修改也可以