Фрейм представления таблицы приложений на основе навигации - PullRequest
0 голосов
/ 05 декабря 2011

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

Вот код, который работает изначально, однако, если строка выбрана из таблицы и пользователь переходит к следующему экрану, когда он нажимает назад, представление таблицы заполняет экран, а не кадр.

    - (void)viewDidAppear:(BOOL)animated {

    // set the frame size
    CGRect frame = self.tableView.frame;
    frame = CGRectMake(16.0, 36.0, 254.0, 350.0);
    self.tableView.frame = frame;

    [super viewDidAppear:animated];
    }

Любая помощь будет высоко ценится, спасибо.

1 Ответ

1 голос
/ 06 декабря 2011

Измените имя класса на UIViewController и добавьте IBOutlet

@interface mycontroller : UIViewController <UITableViewDelegate, UITableViewDataSource> {
    IBOutlet UITableView* tableView;
    ....
}

В IB удалите таблицу, создайте UIView, который вы связываете с выходом представления контроллера. Затем создайте табличное представление, которое вы помещаете как подпредставление представления. Этот будет держать свой размер. Установите его выход на tableView, установите ваш контроллер как делегат и источник данных. Затем вам просто нужно реализовать методы для табличного представления (numberOfSections ..., numberOfRows ..., cellForRow ...) так же, как в вашем текущем контроллере.

...