Добавить кнопку в последнюю ячейку UITableView - PullRequest
0 голосов
/ 22 мая 2018

В настоящее время у меня есть 2 UITableView для фильтрации 2 категории,

моя категория - кошка и собака, 1-я UITableView, которая обрабатывает кошку, и 2-я UITableView, которая обрабатывает собаку.

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

это иллюстрация: enter image description here

2 ячейки вверху - это кошка, а одна ячейка внизу - это собака, в середине двух категорий должна быть кнопка в качестве разделителя.

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте этот код.

@interface ViewController () <UITableViewDelegate, UITableViewDataSource> {
    NSArray *arrCat;
    NSArray *arrDog;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    arrCat = @[@"Cat 1", @"Cat 2", @"Cat 3", @"Cat 4", @"Cat 5"];
    arrDog = @[@"Dog 1", @"Dog 2", @"Dog3 ", @"Dog4 ", @"Dog 5"];
}

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

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 2;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if (section == 0) {
        return arrCat.count;
    }
    return arrDog.count;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellIdentifier = @"TableViewCell";

    TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (cell == nil) {
        cell = [[[NSBundle mainBundle] loadNibNamed:cellIdentifier owner:self options:nil] objectAtIndex:0];
    }

    if (indexPath.section == 0) {
        cell.lblCategory.text = arrCat[indexPath.row];
    }
    else {
        cell.lblCategory.text = arrDog[indexPath.row];
    }
    return cell;
}

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 60)];
    view.backgroundColor = [UIColor greenColor];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = view.frame;
    button.titleLabel.textAlignment = NSTextAlignmentCenter;
    button.titleLabel.textColor     = [UIColor blackColor];
    [view addSubview:button];

    if (section == 0) {
        [button setTitle:@"CAT" forState:UIControlStateNormal];
    }
    else {
        [button setTitle:@"DOG" forState:UIControlStateNormal];
    }
    return view;
}

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 60.0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...