试图在Monotouch.Dialog中使用LoadMoreElement

时间:2012-06-28 06:18:42

标签: dialog xamarin.ios

我正在使用Monotouch编写Ipad应用程序。该应用程序使用表格浏览目录树,然后选择一个文件。我使用Monotouch.Dialog浏览目录,并在应用程序启动时设置目录表。但是,当应用程序启动时,在表中设置的文件太多,所以我想设置'文件表'从最低级目录表中选择文件。我正在尝试使用LoadMoreElement来执行此操作,但我无法使其工作或在线查找任何示例。我在Xamarin教程中编写了“Elements API演练”代码: - http://docs.xamarin.com/ios/tutorials/MonoTouch.Dialog 然后我在代码中添加一个新部分: -

_addButton.Clicked += (sender, e) => {

   ++n;

   var task = new Task{Name = "task " + n, DueDate = DateTime.Now};

   var taskElement = new RootElement (task.Name){
          new Section () {
                  new EntryElement (task.Name,
                         "Enter task description", task.Description)
          },
          new Section () {
                  new DateElement ("Due Date", task.DueDate)
          },
          new Section() 
                {
                     new LoadMoreElement("Passive","Active", 
                                        delegate {MyAction();})
                }

            };
   _rootElement [0].Add (taskElement);

MyAction在哪里: -

public void MyAction()

{

        Console.WriteLine ("we have been actioned");

}

问题是MyAction被触发并且Console.Writeline写入消息但是表保持活动状态并且永远不会返回被动状态。文件说: - 完成NSAction中的代码后,UIActivity指示器将停止动画,并再次显示正常的标题。 我错过了什么?

伊恩

1 个答案:

答案 0 :(得分:1)

您需要将元素中的“动画”属性设置为false。

像这样:

LoadMoreElement loadMore = null;

 loadMore = new LoadMoreElement (
     "Passive", "Active", 
     delegate {loadMore.Animating = false;});

当代表停止运行时,您在哪里看到任何说明动画停止的文档?如果在任何地方记录,那就错了。