首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对具有动态高度的UITextView使用UIStackView

对具有动态高度的UITextView使用UIStackView
EN

Stack Overflow用户
提问于 2016-05-11 23:17:09
回答 3查看 1.4K关注 0票数 2

我刚刚发现了UIStackView,我正在试着看看它是否最终能让布局扩展内容变得更容易。

具体地说,我想做以下几点:

代码语言:javascript
复制
|-- UITextView ------------|
| some dynamic text here,  |  I want the text view's height to change
| it could be short, or it |  depending on the height of the text
| could be tall            |  (set later, in code)
|-- UIView ----------------|
|xxxxxxxxxxxxxxxxxxxxxxxxxx|  I want this view to expand to fill the 
|xxxxxxxxxxxxxxxxxxxxxxxxxx|  vertical space.
|xxxxxxxxxxxxxxxxxxxxxxxxxx|  
|xxxxxxxxxxxxxxxxxxxxxxxxxx|  It should start right below the
|xxxxxxxxxxxxxxxxxxxxxxxxxx|  bottom of the UITextView
|xxxxxxxxxxxxxxxxxxxxxxxxxx|
|--------------------------|

我想我知道如何在常规约束下做到这一点。有没有可能使用UIStackView?我可能理解UIStackView的用途,但我希望能够更容易地创建这样的布局。

当我将这两个视图都放入UIStackView中时,接口构建器会为这两个视图显示“需要限制:Y位置或高度”。

EN

回答 3

Stack Overflow用户

发布于 2019-05-23 02:06:31

从编程上看,它看起来是这样的:

代码语言:javascript
复制
@IBOutlet private var stackView: UIStackView! 
{
    didSet {
        stackView.addArrangedSubview(titleTextView)
        stackView.addArrangedSubview(UIView())
    }
}

lazy var titleTextView: UITextView = 
{
    let textView = UITextView()
    textView.isScrollEnabled = false
    return textView
}()

您不需要任何其他东西就可以让UITextView自动扩展。这不应该抱怨模棱两可。

票数 1
EN

Stack Overflow用户

发布于 2016-05-12 00:01:17

在textview中计算文本高度,在uitextview上添加一个高度约束,比如20,当你计算高度时,只需从textview更改高度constraint.Give,下面的视图约束top 0,你的问题就会得到解决。使用此函数计算高度

代码语言:javascript
复制
let height = string.boundingRectWithSize(CGSizeMake(CGFloat.max,textviewwidth), options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName: font!], context: nil).size.height
票数 0
EN

Stack Overflow用户

发布于 2016-05-12 04:11:48

尝试使用UILabel =0而不是UITextView。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37166884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档