有没有办法设置MonoTouch.Dialog DialogViewController的位置?我已经将DialogViewController子类化,并在顶部添加了一个UIToolbar,现在我想将表格视图向下移动相应的像素。
public class MyViewController : DialogViewController
{
UIToolbar toolbar;
public SessionsListViewController (RootElement rootElement) : base(rootElement)
{
this.toolbar = new UIToolbar(new RectangleF(0,0,768,44));
this.toolbar.Items = new UIBarButtonItem[0];
this.Add(toolbar);
}
}
答案 0 :(得分:1)
我无法在MonoTouch.Dialog中更改TableView的位置。这不是库的问题,它是TableViewController的工作方式,由MT.Dialog继承。
TableViewController类应该自动管理TableView的定位,你不应该解决这个问题。即使你创建了具有不同位置的TableView,比如提到的miguel.de.icaza,TableViewController也会在WillAppear方法中重新排列TableView。
当不使用MT.Dialog时,最好的方法就是使用它,例如,在屏幕的一半上有一个表是删除TableViewController并简单地使用带有TableView对象的UIViewController。您仍然可以将委托和数据源传递给TableView,因此您只需松开TableView的自动定位。
我试图将MT.Dialog更改为继承自UIViewController而不是UITableViewController,但这导致了很多问题,我无法完成它。也许有一天我会这样做。
我很想听到我错了!
答案 1 :(得分:1)
为了解决类似问题,我更改了DialogViewController的派生链以继承UIViewController并直接创建UITableView。这允许我使用位图作为背景,唯一的方法是改变一些东西。我计划将其检查到源代码树中,我们进行任何其他更新和代码清理,但需要清理一些接口而不是
答案 2 :(得分:-1)
只需覆盖MyViewController中的MakeTableView方法,默认实现为:
return new UITableView (bounds, style)
所以你要做的就是改变传递的界限。