table」カテゴリーアーカイブ

TableViewController セルの高さ変更

平成27年6月24日(水曜日)

//-----
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row == 0) {
        return 40;
    }
    else if(indexPath.row == 4){
        return 65;
    }
    else if(indexPath.row == 5){
        return 65;
    }
    else if(indexPath.row == 6){
        return 65;
    }
    else if(indexPath.row == 7){
        return 90;
    }
    else if(indexPath.row == 10){
        return 90;
    }
    else {
        return 40;
    }
}
//-----

Tableviewで2つ以上のcustom cellを使う!!

平成27年6月24日(水曜日)

  1. storyboard上で、prototype cellsを2に設定。
  2. 1のセル style subtitle “Cell1
  3. 2のセル style custom “Cell2”
  4. File New uitableviewcell “DetailTableViewCell”  Create
  5. 2のセル パーツのリンク @synthesize
  6. tableView cellForRowAtIndexPath
//カスタムセル追加
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
//- (DetailTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier1 = @"Cell1";
    static NSString *CellIdentifier2 = @"Cell2";
    BOOL YES_NO;
    
    if(indexPath.row == 0) {
        DetailTableViewCell *cell = (DetailTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier2];
        
        if (cell == nil) {
            cell = [[DetailTableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier2];
        }
        YES_NO = [[self query_On_off_flag:[_detailItem valueForKey:@"name"]] boolValue];
        //NSLog(@"query_On_off_flag = %@",YES_NO ? @"YES":@"NO");
        
        if (YES_NO) {
            cell.on_off_switch.on = YES;
        } else {
            cell.on_off_switch.on = NO;
        }
        return cell;
    }
    else {
        UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
        
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier1];
        }
        switch (indexPath.row) {
            case 1:
                cell.textLabel.text = @"うりの一言";
                cell.detailTextLabel.text = [[_detailItem valueForKey:@"point"] description];
                break;
            case 2:
                cell.textLabel.text = @"温泉郷";
                cell.detailTextLabel.text = [[_detailItem valueForKey:@"part"] description];
                break;
            case 3:
                cell.textLabel.text = @"営業形態";
                cell.detailTextLabel.text = [[_detailItem valueForKey:@"t_operation"] description];
                break;
            default:
                cell.textLabel.text = @"error";
                cell.detailTextLabel.text = [[_detailItem valueForKey:@"parking"] description];
                break;
        }
        return cell;
    }
    return nil;
}

viewForHeaderInSection

平成26年12月17日(水曜日)

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

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *containerView = [[UIView alloc] init];
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button1.frame = CGRectMake(10, 10, 70, 20);
[button1 setTitle:@"button1" forState:UIControlStateNormal];

[containerView addSubview:button1];
return containerView;
}