我的应用程序 (MvvmCross/Xamarin iOS) 中有一个 UISplitViewController
,但出于某种原因,我无法让内容符合可用 View 区域的尺寸。
在屏幕截图中显示的情况下,主视图托管了一个 UIViewController
,其中包含一个 TableView
。所有布局都是在约束下完成的,并且在 iPhone 模拟器中运行时可以自行正常工作。
一旦我切换到在 iPad 上运行,我的演示者中的一些自定义代码就会在 UISplitViewController
的主面板中显示相同的 View ,但在这种情况下,约束似乎被忽略并且我最终得到一个如下所示的 View :
如您所见,表格单元格的右侧现在远离 UISplitViewController
主面板的可视区域。
UITableView
和 UITableCell
都使用 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/