Кнопки UIB, программно добавленные в UITableViewCell, никогда не появляются - PullRequest
1 голос
/ 06 октября 2010

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

    public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
    {
        // The NavItem class is a "Josh Bloch enum" with n ordered members
        NavItem item = NavItem.ByOrder(indexPath.Row);
        var cell = tableView.DequeueReusableCell(item.Name);
        if (cell == null)
        {
            cell = new UITableViewCell(UITableViewCellStyle.Default, item.Name);
            UIButton button = UIButton.FromType(UIButtonType.RoundedRect);
            button.SetTitle(item.Name, UIControlState.Normal);
            cell.ContentView.AddSubview(button);
            // cell.TextLabel.Text = item.Name;
            // cell.Accessory = UITableViewCellAccessory.DisclosureIndicator;
        }
        return cell;
    }

Без кнопок закомментированная текстовая версия работает нормально.

Я новичок в iOS, поэтому я предполагаю, что есть что-то в размерах, позиционировании или компоновке компонентов, которые мне здесь не хватает - кто-нибудь знает, что это такое?

1 Ответ

4 голосов
/ 06 октября 2010

Обычно, когда у меня возникает такая проблема, это потому, что я не указал рамку для объекта. Поэтому в этом примере попробуйте установить рамку для кнопки, прежде чем добавить ее в подпредставление ячейки. Э.Г.

button.Frame = new RectangleF(xcord, ycord, width, height);

Просто чтобы заметить, поскольку вы добавляете кнопку в подпредставление ячейки, координаты x и y относятся к этой ячейке.

...