我想基于其单元格高度的总和从另一个viewcontroller更改tableview的高度,因为它们是动态的.它可能吗?谢谢
添加在:
我基本上拥有一个UserProfileViewController,它在屏幕的一半上有一个容器视图.在那里我添加了不同的其他viewcontrollers:


在wall按钮的情况下,这是我添加viewcontroller的方式,它是后续的tableview:
- (IBAction)wallButtonPressed:(id)sender
{
//Check if there is an instance of the viewcontroller we want to display. If not make one and set it's tableview frame to the container's view bounds
if(!_userWallViewController) {
self.userWallViewController = [[WallViewController alloc] init];
// self.userWallViewController.activityFeedTableView.frame = self.containerView.bounds;
}
[self.userWallViewController.containerView addSubview:self.userWallViewController.activityFeedTableView];
//If the currentviewcontroller adn it's view are already added to the hierarchy remove them
[self.currentViewController.view removeFromSuperview];
[self.currentViewController removeFromParentViewController];
//Add the desired viewcontroller to the currentviewcontroller
self.currentViewController = self.userWallViewController;
//Pass the data needed …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用CustomCell实现了TableView,
我想UITableViewCell根据文字长度调整我的动态高度UITableViewCell,
这是快照 Customcell
:这是我的快照 UITableView
:代码段 heightForRowAtIndexPath
#define FONT_SIZE 14.0f
#define CELL_CONTENT_WIDTH 320.0f
#define CELL_CONTENT_MARGIN 10.0f
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
NSString *text = [DescArr objectAtIndex:[indexPath row]];
CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
CGFloat height = MAX(size.height, 100.0);
return height;
}
Run Code Online (Sandbox Code Playgroud)
正如您在第二张图片中看到的那样,单元格的高度是固定的,它不会随着文本(内容)大小而变化.
我哪里弄错了?如何根据其内容/文本制作标签或单元格以更新其大小?
我有一个使用该heightForRowAtIndexPath:方法的不同单元格高度的tableview .
我想动态设置一个高度UITableView.目前我正在viewDidLoad使用以下方法设置tableView的尺寸:
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(10, 770, 310, 400)];
self.tableView.dataSource = self;
self.tableView.delegate = self;
Run Code Online (Sandbox Code Playgroud)
我想也许我可以添加这个:self.tableView.contentSize.height;但问题当然是内容大小只在表加载后计算,所以如果我把它放入
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(10, 770, 310, self.tableView.contentSize.height)];
Run Code Online (Sandbox Code Playgroud)
它不起作用.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *description = [photosFromCommentsArray objectAtIndex:indexPath.row];
// NSLog(@"description is %@",description);
if(description == (id)[NSNull null])
{
return 70;
}
else
{
return 200;
}
}
Run Code Online (Sandbox Code Playgroud)