UITableView добавить кнопки в разделе - PullRequest
5 голосов
/ 02 апреля 2011

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

Например, если курс CS101 содержит 5 элементов, я хочу, чтобы 5 значков (кнопок UIButton) появлялись, когда я щелкаю заголовок с именем CS101, упорядоченный в 3 строки, а кнопки 2,2 и 1 представляют пять элементов.

Как мне это сделать? Если это возможно?

Большое спасибо! Satyam

Ответы [ 2 ]

21 голосов
/ 02 апреля 2011

Да, это возможно. Вам нужно использовать методы делегата UITableView и добавить View со всеми кнопками в нем в заголовок TableView.

Сначала установите делегат и источник данных UITableView, затем перейдите к следующему коду.

Для этого Вы можете следовать приведенному ниже коду:

 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
 {
 // create the parent view that will hold header Label
 UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 44.0)];

 // create the button object
 UIButton * headerBtn = [[UIButton alloc] initWithFrame:CGRectZero];
 headerBtn.backgroundColor = [UIColor clearColor];
 headerBtn.opaque = NO;
 headerBtn.frame = CGRectMake(10.0, 0.0, 100.0, 30.0);
 [headerBtn setTitle:@"<Put here whatever you want to display>" forState:UIControlEventTouchUpInside];
[headerBtn addTarget:self action:@selector(ActionEventForButton:) forControlEvents:UIControlEventTouchUpInside];
 [customView addSubview:headerBtn];

 return customView;
 }

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

- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
 {
 return 100.0;
 }

Надеюсь, это вам очень поможет ...:)

1 голос
/ 02 апреля 2011

для этого вы должны вернуть UIview в этом делегате, который содержит UIbutton

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

При действии этой кнопки вы можете вставить количество строк, которые вы хотите отобразить в виде значков, а новые вставленные строки будут содержать кнопку UIB. Для вставки строк вы можете использовать

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...