gpt4 book ai didi

iphone - 获取UITableView的高度

转载 作者:行者123 更新时间:2023-12-03 18:31:51 26 4
gpt4 key购买 nike

我创建了一个带有自定义UITableViewCellUITableviewUITableViewCell包含UILabels并且我已经计算了高度基于单元格高度的每个单元格。但是我怎样才能获得tableview高度?因为我需要根据tableView的高度计算 ScrollView 的高度单击按钮时,我创建了一个像这样的 UITableView:

-(IBAction)btnClicked:(id)sender
{
self.tableView=[[UITableView alloc] initWithFrame:CGRectMake(0,150,327,[arr5 count]*205) style:UITableViewStylePlain];
self.tableView.delegate=self;
self.tableView.dataSource=self;
self.tableView.scrollEnabled = NO;
[self.view addSubview:self.tableView];
float fscrview = 150 + self.tableView.frame.size.height + 20;
testscroll.contentSize=CGSizeMake(320, fscrview);
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *city1 = city.text;
UIFont *font = [UIFont fontWithName:@"Helvetica" size:14.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize bounds = [city1 sizeWithFont:font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
//similarly calculated for all
return (CGFloat) cell.bounds.size.height + bounds.height+bounds1.height+bounds2.height+bounds3.height+bounds4.height+bounds5.height;
}

我可以通过这个获得tableViewCells的高度。之后如何计算/设置整个tableView的高度?

如何根据tableView的行/高度计算ScrollView的高度?

最佳答案

使用UITableViewcontentSize.height属性。

我认为您想要设置整个表格 View 的内容大小,然后设置 UITableView 的 ScrollView 大小相关内容,为此使用以下代码...

UITableView中添加数据或reloadData后,只需设置以下代码..

    yourTableView.frame = CGRectMake(yourTableView.frame.origin.x,yourTableView.frame.origin.y, yourTableView.frame.size.width, yourTableView.contentSize.height);

float ftbl = yourTableView.frame.origin.y + yourTableView.contentSize.height + 15;
yourScrollView.contentSize=CGSizeMake(320, ftbl);

更新:

self.tableView=[[UITableView alloc] initWithFrame:CGRectMake(0,150,327,[arr5 count]*205)style:UITableViewStylePlain]; 
self.tableView.delegate=self;
self.tableView.dataSource=self;

[testscroll addSubview:self.tableView]; /// add this tableview in scrollview not in self.view
[self.tableView reloadData];
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y, self.tableView.frame.size.width, self.tableView.contentSize.height);
float ftbl = self.tableView.frame.origin.y + self.tableView.contentSize.height + 15;
testscroll.contentSize=CGSizeMake(320, ftbl);

关于iphone - 获取UITableView的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com