UIStackView内的UITextview

时间:2016-05-30 08:03:53

标签: ios iphone autolayout uitextview uistackview

我在UIStackView中添加了我的UITextView。

但我的textview不是Multiline。

自动布局如下所示:

enter image description here

根据图像,它只占1行。 textview框架按照图像显示为框架外。

的UITextView

enter image description here enter image description here

UIStackView

enter image description here

3 个答案:

答案 0 :(得分:21)

问题在于您通过提供顶部底部约束修复了 UIStackview height

  1. 删除底部约束

    enter image description here

  2. 禁用textview滚动。

    textview 委托给自己并实施 textViewDidChange

    <强>夫特

    func textViewDidChange(_ textView: UITextView) {
        view.layoutIfNeeded()
    }
    

    目标C:

    -(void)textViewDidChange:(UITextView *)textView {
        [self.view layoutIfNeeded];
    }
    

    确保调用此方法。

    现在,您的stackview应该随着textview一起增长到多行。

    然后你的textview不是多行的原因是因为你已经修正了高度。所以它永远不会是多线的。

    参见GIF:

    enter image description here

答案 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"));
 });