Pet*_*rtz 4 uitextview uiedgeinsets swift
当您尝试sizeThatFits在UITextView上执行操作时,如果您将所述UITextView的高度设置为结果,那么它太短了!这个答案:
似乎也不尽如人意,如果检查contentInset文本视图的属性,contentInset则全部设置为零.
Pet*_*rtz 15
它使用的关键textContainerInset而不是contentInset.这将为您提供正在寻找的顶部和底部的适当缓冲区.所以,你会得到类似的东西:
textView.text = "Some multiline text";
let size: CGSize = textView.sizeThatFits(CGSizeMake(textView.frame.size.width, CGFloat.max));
let insets: UIEdgeInsets = textView.textContainerInset;
textViewHeight.constant = size.height + insets.top + insets.bottom;
Run Code Online (Sandbox Code Playgroud)
同样重要的是要注意,必须在渲染UITextView之后调用此方法.换句话说,我最初是viewDidLoad在控制器的方法中调整它,当实际上它必须在viewDidAppear.这很烦人,因为视图已经显示出来,但是我通过淡化少数几个以获得更好的美学来解决它.
| 归档时间: |
|
| 查看次数: |
5569 次 |
| 最近记录: |