【发布时间】:2019-01-25 04:44:56
【问题描述】:
我正在添加帖子屏幕,目前我的 UITextView 屏幕有以下内容:this is how it looks
我希望它基本上看起来像这样:with a space on first line like this
要添加什么代码?
【问题讨论】:
-
您是否希望仅在用户开始输入一些文本时才添加一些空格?
标签: ios swift xcode uitextview
我正在添加帖子屏幕,目前我的 UITextView 屏幕有以下内容:this is how it looks
我希望它基本上看起来像这样:with a space on first line like this
要添加什么代码?
【问题讨论】:
标签: ios swift xcode uitextview
只需在文本视图中添加前缀\t。
yourtextView.text = "\t" + "Your String Text"
或
textView.text = "\tYour String Text"
【讨论】:
我认为只是覆盖UITextView这两个方法
func textRect(forBounds bounds: CGRect) -> CGRect {
bounds.origin.x += leftMargin
return bounds
}
func editingRect(forBounds bounds: CGRect) -> CGRect {
bounds.origin.x += leftMargin
return bounds
}
// provide your desired value
let leftMargin = 8
希望对你有帮助。
【讨论】:
虽然这个问题的措辞不是很充分,但您可以这样做
class ViewController: UIViewController, UITextViewDelegate {
var didTab:Bool = false
override func viewDidLoad() {
super.viewDidLoad()
textView = UITextView(frame: CGRect(x:24,y: 100,width: 340,height: 290))
textView.textColor = UIColor.black
textView.backgroundColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.00)
textView.text = "\tSomeText"
view.addSubview(textView)
textView.delegate = self
}
func textViewDidBeginEditing(_ textView: UITextView) {
if(!self.didTab) {
textView.text = "\t\(textView.text)"
}
else {
self.didTab = true
}
}
}
这会在有人开始输入时为文本添加一个标签。
【讨论】:
textViewDidBeginEditing 中的if else 案例。你看过我的编辑吗?它使您只需点击一次。
您可以通过以下方式在用户开始输入一些文本时添加一些空格:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if textView.text.count == 0 {
textView.text = " "
}
return true
}
【讨论】: