我正在尝试将子视图添加到单视图iPhone应用程序中。我将视图拖到主视图上,设置参数:x = 180,y = 20,宽度= 120,高度= 120,Xcode在屏幕右上角附近显示一个漂亮的正方形。当我在模拟器或设备上运行应用程序时,方块变成一个矩形;我估计高度值大约是Xcode中显示的大小的1/5,而宽度保持不变。
我试图在没有任何运气的情况下降低垂直约束的优先级。
对于我在这里失踪的任何想法都表示赞赏!
答案 0 :(得分:1)
我的猜测是你已经创建了一个新项目(或现有项目中的新xib),现在你正在iPhone 4S或更早版本上测试应用程序。但默认情况下,Xcode 4.5(或更高版本)会创建一个新的iPhone xib,其顶层视图的大小适合iPhone 5,它具有更高的屏幕。当您在具有较小屏幕的设备上运行应用程序时(或在配置为此类设备的模拟器中),顶级视图会缩小以适合其子视图并调整其大小。
如果不使用自动布局,您可以更改子视图的弹簧和支柱,以便视图的宽度和高度固定,左边距和下边距都很灵活。
如果 使用自动布局,则需要通过更改子视图上的约束来执行相同的操作。
如果要更改Xcode在xib中显示顶级视图的大小,请选择视图(或其视图控制器,如果它在xib中有一个)。然后选择查看>公用事业>属性检查员。在Attributes Inspector(Xcode窗口的右侧)中,在Simulated Metrics部分下,将Size弹出窗口更改为Retina 3.5 Full Screen。
请记住,如果你这样做,并且你没有修复弹簧的拉杆或约束,那么当你在iPhone 5上运行应用程序时,你会遇到相反的问题:顶级视图将被拉伸以适应屏幕,它将调整其子视图的大小。