更改UITableviews高度以适应其在Xcode中的内容?(Change UITableview

2019-10-17 09:27发布

我需要UITaableView以适合其content.I M状加载阵列数据UITableView 。但当我修正了一些静态的大小沉绵项目较少它显示额外space.So我需要动态的高度UITableView ,但不能实现这一目标 ..

autocompleteTableView = [[UITableView alloc] initWithFrame:CGRectMake(10, 140, 200, self.autocompleteTableView.contentSize.height) style:UITableViewStyleGrouped];
        autocompleteTableView.delegate = self;
        autocompleteTableView.dataSource = self;
        autocompleteTableView.scrollEnabled = YES;
       [self.view addSubview:autocompleteTableView];

当我写这篇文章我看不到的TableView itself..How我能得到它?

Answer 1:

对于dynamic tableview height 。 您需要应用动态帧。

对于恩,

myTable.frame = CGRectMake(x,y,w,[row count] * 44);

其中44是的tableview细胞的默认大小

因此,你需要知道每个单元格的高度,以应用它。

喜欢编程



Answer 2:

你试试下面的代码

CGRect tblFrame = [tableView frame];
[tableView setFrame:CGRectMake(tblFrame.origin.x, 
                                tblFrame.origin.y, 
                                tblFrame.size.width, 
                                tblFrame.size.height + 20)];


Answer 3:

创建鉴于没有装载表视图之前调用此方法。 它计算内容的高度,并返回表视图的总高度

-(NSInteger)calculateheightOfText{

    for (int i=0; i<[yourarray count]; i++) {
        NSString *cellText =[yourarray objectAtIndex:i];
        UIFont *cellFont = [UIFont fontWithName:@"ArialMT" size:17.0];
        CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
        CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

        heightOfTableview = heightOfTableview+labelSize.height + 20;
    }
    heightOfTableview = heightOfTableview +([items count]*35);

    return heightOfTableview;
}


Answer 4:

首先,你可以按照这个高度,你可以调整你的tableView框架让你的内容(文本),高度,然后。

CGSize size = [@"Your string" 
               sizeWithFont:[UIFont fontWithName:@"TimesNewRomanPS-BoldMT" size:22] 
               constrainedToSize:CGSizeMake(320, CGFLOAT_MAX)];


文章来源: Change UITableviews height to fit its content in xcode?