UITableView не отображается, getCell не вызывается

#c# #iphone #ios #mono #xamarin.ios

#c# #iPhone #iOS #моно #xamarin.ios

Вопрос:

У меня настроен следующий код:

         TableView = new UITableView();
        TableView.Source = new DataSource();

        m_MainScroll.Add(view); // scrollview area
        TableView.ReloadData ();
  

Источник данных прост:

     class DataSource : UITableViewSource {
        public DataSource ()
        {
        }

        public override int NumberOfSections (UITableView tableView)
        {
            return 1;
        }

        public override int RowsInSection (UITableView tableview, int section)
        {
            return 10;
        }

        // Customize the appearance of table view cells.
        public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
        {
            return new UITableViewCell();
        }
    }
  

По сути, getCell никогда не вызывается, и я все равно никогда не вижу, чтобы таблица отображалась.

Есть идеи, почему?

Редактировать:

Еще несколько потенциально релевантных кодов:

(в viewDidLoad):

         m_MainScroll = new UIScrollView(new RectangleF(0, 0, 320, 372));
        m_MainScroll.ContentSize = new SizeF(300, ScrollerHeight);
        m_MainScroll.ShowsVerticalScrollIndicator = true;
        m_MainScroll.DraggingStarted  = DragStarted;

        AddComponent(m_MainScroll);


        UIToolbar bar = new UIToolbar(new RectangleF(0, 372, 320, 44));
        View.Add(bar);
        UIBarButtonItem barBut = new UIBarButtonItem();
        barBut.Style = UIBarButtonItemStyle.Bordered;
        barBut.Title = "Next";
        NextButton = barBut;

        UIBarButtonItem flexer = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);

        UIBarButtonItem []items = new UIBarButtonItem[2];
        items[0] = flexer;
        items[1] = barBut;
        bar.Items = items;

        AddComponent(bar);


    public void AddComponent(UIView view)
    {
        m_Components.Add(view);
        View.Add(view);
    }
  

Где m_Components — это просто список UIView и на самом деле используется только для расфокусировки элементов управления, на которых включена клавиатура.

Комментарии:

1. Я думаю, нам понадобится немного дополнительного кода относительно инициализации и того, как / где используется TableView. Кроме того, это не ответ, но я предлагаю вам взглянуть на MonoTouch. Диалог будет намного более продуктивным при работе с таблицами github.com/migueldeicaza/MonoTouch . Диалоговое окно

2. приведенный выше комментарий в основном касается m_MainScroll.Add(view); и view , m_MainScroll и TableView отношения в вашем коде.

3. ах да, я добавил недостающие фрагменты 🙂