2017-05-24 65 views
0

我有一個uitapgesturerecognizer,用於uiview。我在scrollview中有30個這些uiviews。同樣在每個視圖中,每個視圖都有一個標籤,其中包含不同的單詞。現在當我點擊一個輕擊手勢識別器時,我想從該特定視圖的標籤中訪問文本。發生什麼事是我打印索引中最後一個視圖的文字。有人能告訴我如何訪問每個索引中的每個視圖。獲取標籤或索引的輕擊手勢識別器

open var Name: UILabel! 
open func ynCategoryButtonClicked(_ sender: UITapGestureRecognizer) { 
    guard let text = Name.text else { return } 
    ynSearch.appendSearchHistories(value: text) 
    self.delegate?.ynCategoryButtonClicked(text: text) 
} 

回答

0

老實說,這聽起來像你應該使用UITableView。無論哪種方式,你應該改變你的委託方法ynCategoryButtonClicked也傳遞給自己的引用(所以像delegate?.ynCategoryButtonClicked(text: text, ynCategory: self))。然後,如果您使用TableView路線,則可以使用indexPath(for:UITableViewCell)找到索引。或者,如果你堅持使用滾動視圖,你應該能夠維護一系列視圖,並且只需搜索ynCategory

0

你在哪裏你的 「UIButtonView」 分配你的tapGesture的地方,加入這一行:

yourButton.accessibilityHint = "YourText" 

,並在您 「buttonTapped()」 方法獲取文本是這樣的:

let yourText = "\(sender.accessibilityHint)" 

希望這會有所幫助!