当用户在Swift中点击UITextView时,如何运行一段代码?

时间:2015-04-06 03:42:10

标签: ios swift xcode6 uitextview uitextviewdelegate

所以我有一个UITextView和一些占位符文本。当用户点击视图内部时,我想执行一些代码,即清除占位符文本。我试图创建一个IBAction,但它不会让我。我在网上查了一下this UITextViewDelegate Protocol Reference,但我无法弄清楚如何使用它。我与代表合作的很多例子都是Objective-C,我在Swift工作。

对不起,这是一个简单的问题。

谢谢!

2 个答案:

答案 0 :(得分:3)

给定文本视图someTextView的IBOutlet,您需要做的就是让您的类符合UITextViewDelegate,将该文本视图的委托设置为self,并实现{{ 1}}方法:

textViewDidBeginEditing

答案 1 :(得分:1)

View Controller应遵循UITextViewDelegate。然后确保实现textViewDidBeginEditing委托方法。当用户开始编辑textview时,以下代码应清除默认的占位符文本。

import UIKit

class ViewController: UIViewController, UITextViewDelegate {

    @IBOutlet weak var textView: UITextView!


    override func viewDidLoad() {
        super.viewDidLoad()
        self.textView.delegate = self
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func textViewDidBeginEditing(textView: UITextView) {
        self.textView.text = ""
    }

}