Swift 当文本视图为空时,该按钮被禁用,否则将启用
我正在开发便笺应用程序,当文本视图为空时,应禁用“完成”按钮,以便用户无法将空便笺保存到数据库中,否则应启用该按钮 下面是我的代码,我的尝试失败了;我怎样才能解决这个问题Swift 当文本视图为空时,该按钮被禁用,否则将启用,swift,ios9,Swift,Ios9,我正在开发便笺应用程序,当文本视图为空时,应禁用“完成”按钮,以便用户无法将空便笺保存到数据库中,否则应启用该按钮 下面是我的代码,我的尝试失败了;我怎样才能解决这个问题 @IBOutlet weak var textView: UITextView! @IBOutlet weak var done: UIBarButtonItem! override func viewDidLoad() { super.viewDidLoad() title = no
@IBOutlet weak var textView: UITextView!
@IBOutlet weak var done: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
title = note?.text
if (self.textView.text.isEmpty){
done.enabled = false
}
if let noteContent = note
{
textView.text = noteContent.text
}
self.navigationController!.toolbarHidden = false;
}
func textViewShouldBeginEditing(textView: UITextView) -> Bool{
done.enabled = true
return done.enabled
}
试着使用另一个委托方法来达到你的目的。例如:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var button: UIButton!
@IBOutlet weak var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView.delegate = self
if (textView.text.isEmpty) {
button.enabled = false
}
}
}
extension ViewController: UITextViewDelegate {
func textView(textView: UITextView, range: NSRange, replacementText text: String) -> Bool
{
if (!textView.text.isEmpty) {
button.enabled = true
} else {
button.enabled = false
}
return true
}
}
试着使用另一个委托方法来达到你的目的。例如:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var button: UIButton!
@IBOutlet weak var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView.delegate = self
if (textView.text.isEmpty) {
button.enabled = false
}
}
}
extension ViewController: UITextViewDelegate {
func textView(textView: UITextView, range: NSRange, replacementText text: String) -> Bool
{
if (!textView.text.isEmpty) {
button.enabled = true
} else {
button.enabled = false
}
return true
}
}
UITextViewDelegate
协议委托连接到视图控制器
UITextViewDelegate
协议委托连接到视图控制器
在
textViewDidChange
方法中尝试此操作:
yourBarButtonItem.isEnabled = !(yourTextField.text?.isEmpty ?? false)
在
textViewDidChange
方法中尝试此操作:
yourBarButtonItem.isEnabled = !(yourTextField.text?.isEmpty ?? false)
“我的尝试失败了”它们在哪里?我看不到您对文本中的更改有任何响应。@马特查看上面的代码,如果文本视图为空,则在
viewDidLoad
函数中单击disable按钮,如果文本视图为空,则在textview应开始编辑
函数enable done按钮中单击“我的尝试已失败”,它们在哪里?我看不出您对文本中的更改有任何响应。@马特查看上面的代码,如果文本视图为空,请在viewdiload
函数中单击“禁用”按钮,在textViewShouldBeginEditing
函数中,如果文本视图不为空,则启用“完成”按钮了解一点关于UITextViewDelegate的信息此代码现在在我的项目中工作尝试了解一点关于UITextViewDelegate的信息此代码现在在我的项目中工作