2016-07-28 20 views
0

我對視圖有兩個文本視圖,我希望它們都是可編輯的。如何檢測哪些文本視圖正在編輯swift

但每一個都與我的數據庫中的不同記錄有關。

我怎麼能夠檢測到哪個textView正在編輯?

這裏是我到目前爲止的代碼

func textViewDidChange(textView: UITextView) { //Handle the text changes here 
    if(textView.textAlignment == .Center){ 
     PFUser.currentUser()!["bio"] = textView.text 
     PFUser.currentUser()!.saveInBackground() 
    } 
    else{ 
     PFUser.currentUser()!["displayName"] = textView.text 
     PFUser.currentUser()!.saveInBackground() 
    } 
} 

什麼我目前做的,如果認爲是正確對齊或中心對齊,以能夠區分它們的檢測。 這可行,但它不是理想的,因爲我想讓它們都居中對齊。但我不知道textView對象中的哪個字段將包含一個ID或一些標識方法,以確定該函數被調用的是哪個textView。

+1

你有屬性(IBOutlets)每個文本看法?如果是這樣,只是將提供給委託方法的文本視圖與屬性進行比較,看看它是哪一個 – Paulw11

+0

是的我爲每個文本視圖創建了IBOutlets,但是通過比較textview屬性是什麼意思?如if(textView == t_view1)?假設t_view1是特定文本視圖的IBOutlet變量。 – Basic

+1

你也可以給'textView'分配不同的'tags',並在''delegate'中將它檢查爲'textView.tag'。 – triandicAnt

回答

4

只要你有一個指的是一個被傳遞給你的委託兩個文本的意見,你可以簡單地看屬性和採取相應的行動:

func textViewDidChange(textView: UITextView) { //Handle the text changes here 

    guard let currentUser = PFUser.currentUser() else { 
     return 
    } 
    if (textView == self.bioTextView){ 
     currentUser["bio"] = textView.text 
     currentUser.saveInBackground() 
    } else { 
     currentUser["displayName"] = textView.text 
     currentUser.saveInBackground() 
    } 
} 
相關問題