0

我正在尝试将子视图添加到单视图 iPhone 应用程序。我将视图拖到主视图上,设置参数:x=180, y=20, Width=120, Height=120,Xcode 在屏幕右上角附近显示一个漂亮的正方形。当我在模拟器或设备上运行应用程序时,正方形变成了矩形;我估计高度值大约是 Xcode 中显示的大小的 1/5,而宽度保持不变。

我尝试过降低垂直约束的优先级,但没有任何运气。

对我在这里缺少的任何想法表示赞赏!

4

1 回答 1

1

我的猜测是您已经创建了一个新项目(或现有项目中的新 xib),现在您正在 iPhone 4S 或更早版本上测试该应用程序。但默认情况下,Xcode 4.5(或更高版本)会创建一个新的 iPhone xib,其顶层视图的大小适用于屏幕更高的 iPhone 5。当您在具有较小屏幕的设备上(或在配置为此类设备的模拟器中)运行您的应用程序时,顶级视图会缩小以适应其子视图并调整其大小。

如果您使用自动布局,您可以更改子视图的弹簧和支柱,以便视图的宽度和高度是固定的,并且它的左下边距是灵活的。

如果您使用自动布局,则需要通过更改子视图上的约束来做同样的事情。

更新

如果要更改 Xcode 在 xib 中显示顶级视图的大小,请选择视图(或其视图控制器,如果它在 xib 中有一个)。然后选择 View > Utilities > Attributes Inspector。在 Attributes Inspector(Xcode 窗口的右侧)中,在 Simulated Metrics 部分下,将 Size 弹出窗口更改为 Retina 3.5 Full Screen。

请记住,如果您这样做,并且您没有修复 springs'n'struts 或约束,那么当您在 iPhone 5 上运行应用程序时,您将遇到相反的问题:顶级视图将被拉伸以适应屏幕,它将调整其子视图的大小。

于 2012-11-05T02:44:58.483 回答