2013-04-13 37 views
1

我想将单元格添加到我使用故事板创建的静态表格中。我希望能够从代码中动态添加单元格,我实现了一个自定义的UITableViewSource,但它会一直覆盖我的静态单元格。我应该如何实现GetCell()方法,以便它也可以与静态单元一起工作?如何在Xamarin iOS(Monotouch)中添加静态表格

return [super tableView:tableView numberOfRowsInSection:section]

但如何实现它在Xamarin的iOS:看起来像在的ObjectiveC可以通过以下来完成?

回答

0

我能够得到它使用此代码的工作:

public partial class StaticTableController : UITableViewController 
    { 
     public StaticTableController (IntPtr handle) : base (handle) 
     { 
     } 

     [Export("tableView:cellForRowAtIndexPath:")] 
     public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) 
     { 
      var selector = new Selector("tableView:cellForRowAtIndexPath:"); 

      //WTF? 
      var cell = new UITableViewCell(Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr(SuperHandle, selector.Handle, tableView.Handle, indexPath.Handle)); 
      if (indexPath.Row == 2) 
      { 
       cell.TextLabel.Text = "Dynamic thingy"; 
      } 
      return cell; 
     } 
    } 

看起来有点怪异,你可能会使用一个动态表,而不是变得更好。我尝试过的一件事不起作用,就是修改某个部分中的单元格数量 - 这似乎直接与UITableView内部的“索引超出范围”的Obj-C版本崩溃。

+0

我试图实现一个类似的东西,你在这里描述。唯一的区别是我的表是完全静态的,我希望在GetCell函数中访问它的单元格,但它永远不会被调用。我试图通过添加Export属性来解释您的答案,但它没有区别。我该如何解决它? – naffie

相关问题