Хорошо, я звоню в веб-службу, чтобы вернуть политики. Пользователь может иметь несколько политик, и эти политики должны иметь собственную таблицу (обратите внимание, что в таблице нет собственного раздела). Эти таблицы могут содержать неизвестное количество строк в зависимости от количества поправок к политике и самой политики. Поэтому мне нужно динамически генерировать таблицы для этого в UIScrollView. Кто-нибудь знает, как я могу это сделать? Если вы меня не понимаете, тогда спросите.Динамически генерировать UITableViews
ответ
Вы можете создать UITableViews программно с
UITableView *tableView = [[UITableView alloc] init];
затем установите контроллер представления, чтобы быть делегатом и данные источника табличном:
tableView.delegate = self;
tableView.dataSource = self;
и добавить представление таблицы на ваш взгляд прокрутки таких как:
tableView.frame = CGRectMake(0, 0, 320, 500); //use whatever frame you want here
[self.scrollView addSubview:tableView];
и для того, чтобы отслеживать виды стола, вы можете использовать тег, связанный с каждым из них. Вероятно, они лучше всего определяются как константы в верхней части вашего файла .m. Вы можете назвать их соответствующим образом, чтобы вы знали, для какой политики должен использоваться табличный вид. Например, в верхней части .m файла:
#define kFirstPolicyTableViewTag 1
, а затем при создании представления таблицы:
tableView.tag = kFirstPolicyTableViewTag;
тогда, когда имеем дело с какой-либо из делегатов или исходных данных методов, проверьте чтобы вы знали, с кем вы имеете дело. Например:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch (tableView.tag) {
case kFirstPolicyTableViewTag: {
//return the number of rows for that tag
}
}
}
Я рекомендую создать секционный вид таблицы. Таким образом, вы можете загружать политики в каждом разделе. И вы можете дать заголовок раздела в каждом разделе, чтобы предоставить дополнительную информацию.
Учебник подход N политики, каждый из которых M поправок (как N и M произвольное и потенциально большой) является UINavigationController с таблицей политики на корневом уровне. Выбор строки (политика) подталкивает к контроллеру подробных представлений политики, который содержит таблицу поправок для этой политики.
Спасибо +1. Это в основном так, как я это делал, а потому, что клиент теперь передал подробности о том, как они хотят, чтобы он работал, мне пришлось его изменить. – Popeye
Спасибо, очень подробно. +1 – Popeye
Спасибо, +1 это помогло – Popeye