有没有一种很好的方法来调整a的大小UITextView以符合其内容?比方说我有一个UITextView包含一行文字:
"Hello world"
Run Code Online (Sandbox Code Playgroud)
然后我添加另一行文字:
"Goodbye world"
Run Code Online (Sandbox Code Playgroud)
在Cocoa Touch中是否有一个好方法rect可以保存文本视图中的所有行,以便我可以相应地调整父视图?
再举一个例子,查看日历应用程序中事件的注释字段 - 注意单元格(及其UITextView包含)如何扩展以包含注释字符串中的所有文本行.
我尝试检测托架在UITextView中的新行.我可以通过比较总后来宽度和UITextView宽度来检测它:
CGSize size = [textView.text sizeWithAttributes:textView.typingAttributes];
if(size.width > textView.bounds.size.width)
NSLog (@"New line");
Run Code Online (Sandbox Code Playgroud)
但它不能正常工作,因为-sizeWithAttributes:textView只返回没有缩进宽度的字母宽度.请帮忙解决这个问题.
我有一个TextView,它具有最小高度为33的约束.从故事板中禁用滚动.TextView应根据内容增加高度,直到达到100的最大高度.然后我将scrollEnabled更改为true,将TextView的高度更改为最大高度100,但高度更改为33.如何修复这个问题?
import UIKit
class ViewController: UIViewController, UITextViewDelegate {
@IBOutlet weak var messageTextView: UITextView!
let messageTextViewMaxHeight: CGFloat = 100
override func viewDidLoad() {
super.viewDidLoad()
self.messageTextView.delegate = self
}
func textViewDidChange(textView: UITextView) {
if textView.frame.size.height >= self.messageTextViewMaxHeight {
textView.scrollEnabled = true
textView.frame.size.height = self.messageTextViewMaxHeight
} else {
textView.scrollEnabled = false
}
}
}
Run Code Online (Sandbox Code Playgroud)
ios ×3
uitextview ×3
autolayout ×1
cocoa-touch ×1
nsstring ×1
objective-c ×1
scroll ×1
swift ×1
uikit ×1