Как добавить UITableView в приложение на основе представления: iPhone SDK вопрос - PullRequest
1 голос
/ 09 ноября 2009

У меня есть приложение на основе View, которое правильно перемещается между всеми видами. И теперь мне нужно добавить UITableView в это приложение, я не могу этого сделать.

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

У меня есть UITableView на UIView, как:

    UITableView * aTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
    mainView = aTableView;

Возможно, есть идеи? спасибо.

EDIT:

mainView = aTableView;

изменяется как

[mainView addSubview:aTableView];

Ответы [ 4 ]

2 голосов
/ 14 июля 2010

Вы добавили UITableViewDelegate и UITableViewDataSource в файл заголовка (файл .h) этого контроллера?

Например,

@interface MainViewController : UIViewController < UIITableViewDelegate,
UITableViewDataSource > 
{

} @end

После этого .. В файле .m,

UITableView * aTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; aTableView.dataSource = self; aTableView.delegate = self; [mainView addSubView:aTableView];
2 голосов
/ 09 ноября 2009

Вы просто устанавливаете свойство dataSource:

UITableView * aTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
aTableView.dataSource = aDataSource;

Обратите внимание, что вы не можете просто установить mainView для вашего tableView и ожидать, что он будет работать. mainView - это ivar или локальная переменная, представляющая представление, изменение его просто изменяет ivar, фактически оно не присоединяет и не отсоединяет какие-либо представления в иерархии представлений. Для этого вам нужно прикрепить его, используя -[UIView addSubview:].

0 голосов
/ 14 июня 2011

Помимо ссылки на источник и делегат в заголовке, вы можете подключить свой источник данных и делегировать к своему «Владельцу файла» (с помощью инспектора соединений) при редактировании XIB (в отличие от выполнения этого вручную в коде).

0 голосов
/ 14 июля 2010

И вы должны добавить UITableView в UINavigationController и добавить представление NavigationController к вашему представлению. Чем вы можете использовать

[self.navigationController pushViewController:<Your DetailViewController> animated:YES]

Если вы этого не сделаете, у вас будет много работы, чтобы показать ваш DetailViewController. ;-)

...