1

我正在尝试将单元格添加到使用情节提要创建的静态表中。我希望能够从代码动态地将单元格添加到其中的一个部分,我实现了一个自定义 UITableViewSource 但它不断覆盖我的静态单元格。我应该如何实现 GetCell() 方法,以便它也可以与静态单元格一起使用?看起来在ObjectiveC中可以通过以下方式完成:

return [super tableView:tableView numberOfRowsInSection:section]

但是如何在 Xamarin iOS 中实现呢?

4

1 回答 1

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;
        }
    }

看起来有点奇怪,你最好改用动态表。我尝试过但不起作用的一件事是修改一个部分中的单元格数量——这似乎直接与 Obj-C 版本的“索引超出范围”内部崩溃UITableView

于 2013-04-15T14:23:46.080 回答