Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自动布局UILabel在第二视图外观上的高度更改_Ios_Objective C_Uilabel_Uitableview_Autolayout - Fatal编程技术网

Ios 自动布局UILabel在第二视图外观上的高度更改

Ios 自动布局UILabel在第二视图外观上的高度更改,ios,objective-c,uilabel,uitableview,autolayout,Ios,Objective C,Uilabel,Uitableview,Autolayout,我在TableHeaderView()中有一个动态UILabel,一切正常,但如果我将标签的文本设置为nil或@”“,标签将保持文本插入时的高度大小 我正在更改另一个viewController中的文本,该viewController是我以模式显示的。因此,我想分三步向您展示: 原始状态 将文本设置为@“ 在这一步中,我使用viewController删除文本,然后关闭viewController返回此视图 重新显示此视图 因此,我必须打开编辑viewController以再次关闭它。那就好

我在TableHeaderView()中有一个动态UILabel,一切正常,但如果我将标签的文本设置为
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)