gpt4 book ai didi

IOS - 是否可以在绘制之前计算 TextView 高度

转载 作者:行者123 更新时间:2023-11-29 01:07:42 25 4
gpt4 key购买 nike

我有一个自定义的 PopupView(扩展 UIView)。 PopupView 只包含 TextView
PopupView 的宽度为 220。
现在我希望 PopupView 高度取决于 TextView 高度,就像当 TextView 很短时,弹出窗口会很短。
我可以在显示 PopUp 之前计算 TextView 的高度吗?

这是我所做的,使 PopupView 高度取决于 TextView 高度。
- 我显示 PoupView 的宽度和高度 = 屏幕宽度和高度
- 之后我计算 TextView 绘制后的高度(在 layoutSubviews 中)
- 然后我更新 PopupView 高度
=> 如果我能在绘制之前获取 TextView 高度,那就更好了

- (void)layoutSubviews{
[self.textView layoutIfNeeded];
CGSize sizeThatShouldFitTheContent = [self.contentTextView sizeThatFits:self.textView .frame.size]; // this return correct value of `TextView` height
// After I get textview height, I update contraint height of PopupView
}

最佳答案

这不是你要求的,但它可能是你需要的:只需删除弹出 View 的高度约束,并禁用 TextView 的滚动(如果启用滚动,默认高度为 0,否则 TextView 会自动调整大小以适应内容)。这样弹出窗口将包装 TextView 。

你需要像这样设置约束:

TextView.Top = Popup.Top
TextView.Left = Popup.Left
TextView.Right = Popup.Right
TextView.Bottom = Popup.Bottom
Popup.Width = <some fixed value> //Yay! Stairs :)

您可以通过编程方式禁用滚动:textView.scrollingEnabled = NO; 或通过界面构建​​器。

关于IOS - 是否可以在绘制之前计算 TextView 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36148475/

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