Сгруппированная настройка стиля, не вступающая в силу от IB, UITableView

Это подразумевается, если это без параметров. Это вызвано тем, что Вы потребность реализовать конструкторов, которые принимают значения , посмотрите код ниже для примера:

public class SuperClassEmptyCtor
{
    public SuperClassEmptyCtor()
    {
        // Default Ctor
    }
}

public class SubClassA : SuperClassEmptyCtor
{
    // No Ctor's this is fine since we have
    // a default (empty ctor in the base)
}

public class SuperClassCtor
{
    public SuperClassCtor(string value)
    {
        // Default Ctor
    }
}

public class SubClassB : SuperClassCtor
{
    // This fails because we need to satisfy
    // the ctor for the base class.
}

public class SubClassC : SuperClassCtor
{
    public SubClassC(string value) : base(value)
    {
        // make it easy and pipe the params
        // straight to the base!
    }
}
17
задан Tony Lenzi 21 November 2009 в 14:19
поделиться

4 ответа

По-прежнему не уверен, почему настройка стиля "сгруппированные" не действует в Интерфейсном Разработчике. Однако вы можете установить его вручную до создания представления здесь:

- (id)initWithStyle:(UITableViewStyle)style {
    // Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
    style = UITableViewStyleGrouped;
    if (self = [super initWithStyle:style]) {
    }
    return self;
}
8
ответ дан 30 November 2019 в 11:52
поделиться

Отвечает ли табличное представление на события и заполняется ли данными, как и следовало ожидать? - мне кажется, что розетки не подключены должным образом. Я бы дважды проверил источник данных и делегировал соединения из табличного представления контроллеру. Возможно, стоит удалить tableview из IB и повторно добавить его, а также повторно подключить. Я видел, как IB действовал немного привередливо в странных случаях.

0
ответ дан 30 November 2019 в 11:52
поделиться

У нас было это, и это поставило нас в тупик примерно на час. Наконец, мы обнаружили, что нам не удалось установить свойство NIB Name контроллера представления внутри контроллера навигации (внутри контроллера панели вкладок в нашем основном XIB!). Без этого набора все изменения, которые мы внесли в файл XIB нашего табличного представления, полностью игнорировались. Тем не менее, в остальном код работал нормально, и почти ничего не указывало на нашу ошибку.

Держу пари, что в вашем случае происходит нечто подобное. Убедитесь, что ваш XIB (в котором вы задали стиль таблицы) действительно используется.

13
ответ дан 30 November 2019 в 11:52
поделиться

Какой у вас базовый класс контроллера? У меня была такая же проблема, пока я не переключил свой контроллер с подкласса UITableViewController на стандартный UIViewController . Казалось бы, если вы используете UITableViewController , он имеет собственный встроенный UITableView и игнорирует тот, который вы указываете в IB.

9
ответ дан 30 November 2019 в 11:52
поделиться