2011-01-19 7 views
3

Я новичок в программировании iPhone. Мое первое приложение - UITableViewController, но сейчас я немного экспериментирую. Идея заключается в том, чтобы создать пользовательский макет, который будет выглядеть следующим образом:iPhone UITableViewController пользовательский макет

Компоновка:

--------------------- 
Image  | Button  
--------------------- 
UICalendar 
--------------------- 
UITableView 
--------------------- 
Button  | Button 
--------------------- 

ВОПРОС 1: Как вы можете видеть, что я хотел бы добавить некоторые дополнительные elemnts UI. Все обучающие программы, которые я видел, описывают UITableViewController как единый UITableView (никаких других элементов пользовательского интерфейса, включенных в контроллер). Итак, мой вопрос заключается в том, можно ли расширить UITableViewController для такого вида макета? Каков правильный способ сделать это?

ВОПРОС 2: Для UITableViewController Я не использую XIB-файл, но некоторые люди это делают. Почему я должен использовать XIB-файл при создании UITableViewController? Каковы преимущества? Какова наилучшая практика?

ОБНОВЛЕНИЕ: Фактически, я думаю, это иметь выделенный контроллер для UICalendar (UICalendarController) и UITableView (UITableViewController). Я просто не знаю, как это реализовать.

Thx.

ответ

6

Стандартный подход к виду, что вы пытаетесь сделать, это не подкласс UITableViewController или использовать файл XIB для определения интерфейса для представления, связанного с UITableViewController, но вместо того, чтобы использовать UIViewController с XIB файл, который включает в себя UITableView.

Вам необходимо реализовать протоколы UITableViewDataSource и UITableViewDelegate в вашем подклассе UIViewController, но это не сложно.

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

+0

Близко к чему я хочу :). Я сделал пример с протоколами, и он сработал. Я не понимаю, когда пытаюсь отделить функциональность UITableView до нового контроллера. Это возможно? Plase см. Мое сообщение об обновлении. – xpepermint

0

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

Приходит в UITableView, ваше представление для одной ячейки? Кроме того, вы можете создавать пользовательские ячейки и добавлять их в представление таблицы. Для создания собственных ячеек таблицы таблиц вы должны расширить свой класс из UITableViewCell и реализовать их.

+0

Должен ли я использовать UITableViewController для моего дела или UIViewController, иначе? – xpepermint

Смежные вопросы