iphone – 获取UITableView的高度
发布时间:2020-12-14 19:49:36 所属栏目:百科 来源:网络整理
导读:我已经使用自定义UITableViewCell创建了一个UITableview.UITableViewCell包含UILabels,我已经根据单元格的高度计算了每个单元格的高度.但是如何获取tableview的高度?因为根据tableView的高度我需要计算 scrollView的高度 当单击按钮时,我已经创建了一个这样
我已经使用自定义UITableViewCell创建了一个UITableview.UITableViewCell包含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; } 我能够通过this获取tableViewCells高度.在此之后,如何计算/设置整个tableView的高度? 并且如何根据tableView的行/高度来计算ScrollView的高度? 解决方法
使用UITableView的contentSize.height属性.
我想你想设置整个tableview的内容大小,然后设置与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,[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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |