2 bluetooth99 bluetooth99 于 2013.03.25 10:11 提问

如果实现点击后增大标签和单元的尺寸

功能要求实现点击单元的seeMoreBtn 之后,单元尺寸会变大。标签和单元的长度不同,但是他们在同一个label中。如果尺寸过大,我就增加了一个see more button (查看更多)。点击之后在下方显示内容。问题是:怎么放大标签和单元的尺寸?

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
    {
        NSString *text = [items objectAtIndex:[indexPath row]];
        CGSize constraint = CGSizeMake(300.0f, 150.0f);
        CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:constraint lineBreakMode:NSLineBreakByCharWrapping];
        CGFloat height1 = MAX(size.height, 44.0f);
        return height1 + (40.0f);
        }
     - (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        NSString *CellIdentifier = [NSString stringWithFormat:@"Cell-%d",indexPath.row];

        cell=[tv dequeueReusableCellWithIdentifier:CellIdentifier];

        if (cell == nil)
        {
            cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        int lbltag = 1000;
        label=[[UILabel alloc]initWithFrame:CGRectZero];
        [label setLineBreakMode:NSLineBreakByWordWrapping];
        [label setMinimumScaleFactor:14.0f];
        [label setNumberOfLines:0];
        [label setFont:[UIFont systemFontOfSize:14.0f]];
        NSString *text = [items objectAtIndex:[indexPath row]];
        [label setText:text];
        label.tag = lbltag;
        [cell addSubview:label];
        CGSize constraint1=CGSizeMake(300.0f, 150.0f);
        CGSize size1=[text sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:constraint1 lineBreakMode:NSLineBreakByWordWrapping];
        [label setFrame:CGRectMake(10.0f, 10.0f, 300.0f, MAX(size1.height, 44.0f))];
        int countText=text.length;
        if (countText>=350) {
            seeMoreBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
            [seeMoreBtn setTitle:@"See More" forState:UIControlStateNormal];
            seeMoreBtn.frame=CGRectMake(220.0f, MAX(size1.height, 44.0f)-10, 80.0f, 20.0f);
            seeMoreBtn.tag=indexPath.row ;
              [seeMoreBtn addTarget:self action:@selector(increaseSize:) forControlEvents:UIControlEventTouchUpInside];
            [cell addSubview:seeMoreBtn];            
        }
        return cell;
    }
    -(void)increaseSize:(UIButton *)sender{
//What to write here that can adjust the label and cell size
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!