ios - 如果文本字段为空,如何禁用按钮?

标签 ios swift

如果文本字段中没有任何内容,我将尝试禁用继续按钮。 这是我的代码...

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

@IBOutlet weak var nounTextField: UITextField!
@IBOutlet weak var `continue`: UIButton!

var noun = String()

override func viewDidLoad() {
    super.viewDidLoad()
}

@IBAction func continueButton(sender: AnyObject) {
    noun = nounTextField.text!
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let nvc = segue.destinationViewController as! ViewController2
    nvc.noun2 = noun
} 
}

最佳答案

因为你已经让你的类成为一个 UITextFieldDelegate 广告

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

    let text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string)

    if !text.isEmpty{
        continueButton.userInteractionEnabled = true 
    } else {
        continueButton.userInteractionEnabled = false 
    } 
    return true
}

同时更新你的 viewDidLoad 函数

override func viewDidLoad() {
    super.viewDidLoad()

    nounTextField.delegate = self
    if nounTextField.text.isEmpty{
        continueButton.userInteractionEnabled = false 
    }
}

关于ios - 如果文本字段为空,如何禁用按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34206648/

相关文章:

ios - 有时 Sprite 在接触另一个 Sprite 时会被推开

iphone - 将后退按钮添加到 View Controller

swift - 在点击时隐藏表格 View 中某个部分的行

ios - 在 Swift 中更改导航栏中的字体

swift - 为搜索栏设置输入 View - Swift

ios - SKShapeNode .strokeColor 在更改 node.alpha 时看起来与 .fillColor 相同

ios - 禁用屏幕左边缘的 3D Touch 任务切换器手势

ios - CoreData 错误存储包含 ä、ö、ü、ß 的字符串

iphone - iOS:Core Motion 用于检测远距离的较大运动?

ios - ImageView 和 Label 未填充父级(UIScrollView)