触摸时更改特定自定义uitableviewcell的高度

时间:2015-11-19 11:49:07

标签: objective-c iphone uitableview cocoa-touch

/ * 我想点击uitableviewcell,它的高度应该增加,而当我再次点击同一个单元格时,单元格的大小应该减少。自定义单元格的大小是293,但它应该是217开始,当我触摸它时,它应该是293,如果我再次触摸它应该回到217.所有单元格也是如此。请查看图片链接以便更好地理解。 - https://drive.google.com/file/d/0B6FUABgh-tDmZ3BteVhpWFU2d3M/view?usp=sharing - https://drive.google.com/file/d/0B6FUABgh-tDmbklNRVhqT0lnbVE/view?usp=sharing * /

- (void)viewDidLoad
{
    [super viewDidLoad];

    selectedrow = -1;

    self.tableView.dataSource = self;
    self.tableView.delegate = self;
    [self.tableView registerNib:[UINib nibWithNibName:@"SelectedResturentCell"  bundle:nil] forCellReuseIdentifier:@"SelectedResturentCell"];

    NormalSize = 217;
    ExpandedSize = 290;

    [buyBtnTpd.layer setCornerRadius:2.0];

}

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 5;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{
    static NSString *CellIdentifier = @"SelectedResturentCell";
    cell = (SelectedResturentCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    [cell.firstBtnOutlet addTarget:self action:@selector(cellBtnTpd) forControlEvents:UIControlEventTouchUpInside];

    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    int row = [indexPath row];
    selectedrow = row;
    //[tableView reloadData];
    [tableView beginUpdates];
    [tableView endUpdates];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ( selectedrow == [indexPath row])
    {
        NSIndexPath *index = [tableView indexPathForCell:cell];
        cellHeight = [self tableView:tableView heightForRowAtIndexPath:index];
        if (cellHeight < ExpandedSize)
        {
            return  ExpandedSize;
        }

        else
        return  NormalSize;
    }

    else return 217;
}

0 个答案:

没有答案