我在UIStackView中添加了我的UITextView。
但我的textview不是Multiline。
自动布局如下所示:
根据图像,它只占1行。 textview框架按照图像显示为框架外。
的UITextView
UIStackView
答案 0 :(得分:21)
问题在于您通过提供顶部和底部约束修复了 UIStackview 的height
。
删除底部约束
禁用textview滚动。
将 textview 委托给自己并实施 textViewDidChange
<强>夫特强>
func textViewDidChange(_ textView: UITextView) {
view.layoutIfNeeded()
}
目标C:
-(void)textViewDidChange:(UITextView *)textView {
[self.view layoutIfNeeded];
}
确保调用此方法。
现在,您的stackview应该随着textview一起增长到多行。
然后你的textview不是多行的原因是因为你已经修正了高度。所以它永远不会是多线的。
参见GIF:
答案 1 :(得分:6)
只要您的堆栈视图受到良好约束,如果您在 firstString="I love Suzi and Marry"
echo $firstString | awk '{gsub("Suzi","Sara"); print}'
上将isScrollEnabled
设置为false
,它就可以在堆栈视图中调整大小。
答案 2 :(得分:0)
到目前为止,我发现的最佳解决方案是将UITextView包装在UIView中,然后使用高度锚点设置UITextView的固定高度。
services.AddAuthorization(options => {
options.AddPolicy("Read", policy =>
policy.RequireClaim("Read", "MyCLaim"));
});