Ios 自动布局UILabel在第二视图外观上的高度更改
我在TableHeaderView()中有一个动态UILabel,一切正常,但如果我将标签的文本设置为Ios 自动布局UILabel在第二视图外观上的高度更改,ios,objective-c,uilabel,uitableview,autolayout,Ios,Objective C,Uilabel,Uitableview,Autolayout,我在TableHeaderView()中有一个动态UILabel,一切正常,但如果我将标签的文本设置为nil或@”“,标签将保持文本插入时的高度大小 我正在更改另一个viewController中的文本,该viewController是我以模式显示的。因此,我想分三步向您展示: 原始状态 将文本设置为@“ 在这一步中,我使用viewController删除文本,然后关闭viewController返回此视图 重新显示此视图 因此,我必须打开编辑viewController以再次关闭它。那就好
nil
或@”“
,标签将保持文本插入时的高度大小
我正在更改另一个viewController中的文本,该viewController是我以模式显示的。因此,我想分三步向您展示:
原始状态
将文本设置为@“
在这一步中,我使用viewController删除文本,然后关闭viewController返回此视图
重新显示此视图
因此,我必须打开编辑viewController以再次关闭它。那就好像我想让它
你知道为什么吗?我正在调整TableViewHeader的大小,如下所示,在viewwillbeen
方法中:
- (void)resizeTableViewHeader
{
//GET THE SIZE OF THE CONTAINER
CGSize fittingSize = [self.header systemLayoutSizeFittingSize: UILayoutFittingCompressedSize];
self.header.frame = CGRectMake(0, 0, 320, fittingSize.height);
self.tableView.tableHeaderView = self.header;
}
知道我为什么要去两次风景区吗 可能它需要在某个地方更新约束,或者需要layoutifneed
。可以在my Other中找到其他解决方案。您应该实现tableViewDelegate方法并计算页眉高度
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
CGFloat height = //Calculate the dynamic height.
return height;
}
我的macbook没有在自动取款机上。我可以在UILabel上调用layoutIfNeeded
吗?我想它需要放在视图层次结构中的某个位置上,但您可以尝试一下。在创建UILabel时,将高度设置为最小高度,当UILabel包含文本时,它将自动调整其高度。尝试一下。我正在这样做,它可以工作,但当视图重新出现时,它不是关于表节标题,而是关于整个表视图标题。(检查tableHeaderView)