NumberOfSections不使用IUITableViewDataSource Xamarin

时间:2016-11-22 09:43:58

标签: ios uitableview xamarin.ios

我正在尝试使用IUITableViewDataSource接口实现具有单个类的多节表视图(而不是为tableview数据源和委托创建单独的类)。但是NumberOfSections方法没有被调用。 我的视图控制器代码如下所示:

public partial class ViewController : UIViewController, IUITableViewDelegate, IUITableViewDataSource
    {

        public ViewController(IntPtr handle) : base(handle)
        {
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            tableView.WeakDataSource = this;
            tableView.DataSource = this;
        }

        public override void DidReceiveMemoryWarning()
        {
            base.DidReceiveMemoryWarning();
            // Release any cached data, images, etc that aren't in use.     
        }

        public nint NumberOfSections(UITableView tableView)
        {
            return 5;
        }

        public nint RowsInSection(UITableView tableview, nint section)
        {
            return 4;
        }

        public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
        {
            UITableViewCell cell = tableView.DequeueReusableCell("Cell");
            cell.TextLabel.Text = "Row " + indexPath.Row + "   Section " + indexPath.Section;

            return cell;
        }


    }

如果我创建一个UITableViewSource子类并指定类似

,这就完美了
tableView.Source = new TableSource(); 

实施有什么问题?

1 个答案:

答案 0 :(得分:0)

只有在您创建TableSource实例时才会加载表。 将此代码添加到viewDidLoad

    table = new UITableView(View.Bounds); // defaults to Plain style
    table.Source = new TableSource(tableItems);
    Add (table);