2015-04-06 22 views
2

所以我有一個UITextView和一些佔位符文本里面。當用戶點擊視圖內部時,我想執行一些代碼,即清除佔位符文本。我試圖創建一個IBAction但它不會讓我。我在網上查找,發現this UITextViewDelegate Protocol Reference,但我無法弄清楚如何使用它。我發現與代表合作的很多例子都是Objective-C,我在Swift中工作。當用戶點擊Swift中的UITextView時,如何運行一段代碼?

對不起,我是新來的簡單問題。

謝謝!

回答

3

給出一個IBOutlet到一個文本視圖someTextView,所有你需要做的是讓你的類符合UITextViewDelegate,該文本視圖的委託設置爲自我,實現textViewDidBeginEditing方法:

class ViewController: UIViewController, UITextViewDelegate { 

    @IBOutlet weak var someTextView: UITextView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     someTextView.delegate = self 
    } 

    func textViewDidBeginEditing(textView: UITextView) { 
     println("Some code") 
    } 
} 
1

視圖控制器應該堅持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 = "" 
    } 

} 
相關問題