如何手动布局子视图?

时间:2011-01-21 22:18:05

标签: xamarin.ios

对于测试和练习,我想实现一个真正简单的布局管理器,只要右边有空格然后转到下一行,就可以将一个控件对接到另一个控件旁边。

例如:有一个UIView并继续添加随机宽度的UIButtons作为子视图。一条“线”高40像素。第一个按钮添加在(0,0),下一个按钮添加到(120,0),下一个按钮太宽,将转到(0,40),下一个按钮转到(80,40),依此类推。

问题不在于如何做到,而是涉及MonoTouch的哪些方法?我的猜测是覆盖 LayoutSubViews()并在那里实现我的逻辑来对齐控件 - 这是正确的吗?我是否必须调用base.LayoutSubViews()? 我是否必须覆盖其他任何内容?它当然应该重新排列,因为按钮被删除或添加,如果视图本身的大小发生变化。 我是否也必须触摸 SizeToFit()

René

1 个答案:

答案 0 :(得分:0)

您应该结帐MonoTouch docs for UIView。您的猜测是正确的调用LayoutSubViews来定位和对齐您的子视图,您最有可能最终覆盖视图上的Draw方法。我认为TweetStation example做了一些手动视图绘制。你可能想检查一下这些想法。