ios - UISplitViewController 主内容宽度

标签 ios uitableview xamarin mvvmcross uisplitviewcontroller

我的应用程序 (MvvmCross/Xamarin iOS) 中有一个 UISplitViewController,但出于某种原因,我无法让内容符合可用 View 区域的尺寸。

在屏幕截图中显示的情况下,主视图托管了一个 UIViewController,其中包含一个 TableView。所有布局都是在约束下完成的,并且在 iPhone 模拟器中运行时可以自行正常工作。

一旦我切换到在 iPad 上运行,我的演示者中的一些自定义代码就会在 UISplitViewController 的主面板中显示相同的 View ,但在这种情况下,约束似乎被忽略并且我最终得到一个如下所示的 View :

enter image description here

如您所见,表格单元格的右侧现在远离 UISplitViewController 主面板的可视区域。

UITableViewUITableCell 都使用 View.Frame 作为它们的初始大小(我试过 View.Bounds 也是如此)。

如何让单元格和/或表格遵守 UISplitViewController 可用空间的边界?

最佳答案

感谢 Cheesebarons 问题,我找到了解决方案(原因)。

我在辅助类中有一组方法,用于生成“默认”UIView。

这些方法之一创建了我的默认 UITableView:

public static UITableView CreateDefaultTableView(CGRect rect, UITableViewStyle style)
{
    var tv = new UITableView(rect, style)
    {
        AutoresizingMask = UIViewAutoresizing.FlexibleHeight,
        SeparatorStyle = UITableViewCellSeparatorStyle.SingleLine,
        SeparatorColor = IosConstants.DefaultTableSeparatorColor,
        BackgroundColor = IosConstants.DefaultViewBackgroundColor
    };

    return tv;
}

改变:

AutoresizingMask = UIViewAutoresizing.FlexibleHeight,

收件人:

AutoresizingMask = UIViewAutoresizing.All,

小学生错误!

关于ios - UISplitViewController 主内容宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34612350/

相关文章:

ios - MvxTabBarViewController标签栏色调颜色

xamarin - 无法使用 token 0100000f 解析类型

iphone - 如何查询实际的应用版本字符串?

ios - 不懂tableview的减速率

ios - 在 Swift 中将不同的表格单元格导航到不同的 UIVewController

ios - 在 Swift 中将参数传递给操作函数

c# - Xamarin UI 测试 : Is it possible to interact with the OS level dialogues during UITesting

ios - UIApp 为 nil,这意味着我们无法将控制操作分派(dispatch)给它们的目标

ios - 如何在 iOS 中调用和声明对象以进行方法调用

ios - 访问嵌入在 UIViewController 中的 UITabBarController