【问题标题】:MonoTouch app - Layout Problems with RotationMonoTouch 应用程序 - 旋转的布局问题
【发布时间】:2010-08-27 19:06:40
【问题描述】:

我遇到了一个问题,在您旋转设备之前,我的某些视图在应用加载时看起来不正确,而有些视图在加载后看起来正确但旋转后不正确。

我有一个加载视图 A 的窗口,按下按钮后,从窗口中分离视图 A (RemoveFromSuperView) 并加载视图 B 并将其添加到窗口中。

视图 A - 在状态栏高度的底部有空白区域,在设备旋转时固定。

视图 B - 加载时看起来正确,但在设备旋转后部分底部被切掉。

什么会导致这种奇怪的行为?

如果我通过 File->Simulate Interface 从 Interface Builder 查看我的 XIB 文件,它们可以正常工作。但它们不适用于我的应用程序,实际设备上也会发生同样的事情。

PS - 我认为我没有任何自定义代码会导致这种情况,我只是在 IB 中创建了视图 A 和 B 并将它们连接到子类控制器,因此我可以覆盖 ShouldAutorotateToInterfaceOrientation。

【问题讨论】:

    标签: c# iphone rotation xamarin.ios


    【解决方案1】:

    这是因为我的视图控制器是从代码中创建的。

    我切换到从 XIB 文件创建的控制器,显然它们已正确调整大小并在执行此操作时考虑了状态栏。

    我还必须验证是否在 Interface Builder 中检查了“Resize View From NIB”,并且存在相应的子 NIB 名称。如果你的控制器没有放在第二个 XIB 文件中,你可以跳过这一步。

    【讨论】:

    • 我发现发生这种情况的另一种情况是 TabBarController 的视图是另一个控制器的子视图时。为了解决这个问题,我将父控制器的 View 属性设置为 TabBarController 的 View。这对于我试图做的事情来说似乎很糟糕,但我找不到其他方法来解决它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多