簡體   English   中英

點擊表格視圖單元格

[英]tapping on table view cell

override func tableView(tableView: UITableView, cellForRowAtIndexPath 
indexPath : NSIndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCellWithIdentifier ("ChecklistItem") as UITableViewCell
        let label = cell.viewWithTag(1000) as UILabel

        if indexPath.row == 0 {
            label.text = "jaswanth"
        } else if indexPath.row == 1 {
            label.text = "nikhil"

        } else if indexPath.row == 2 {
            label.text = "krishna"
        }


        return cell
    }

我已經UITableViewController ,我已經在上面的代碼中使用,以顯示在表中的細胞和我有另外UIViewController當用戶點擊在jaswanth文本(標簽文本) UIViewController已被改變,並且當NIKHIL被輕觸的文本相同的方式(標簽文本)在UIViewController已更改

我只有一個UITableViewController和一個UIViewController我該怎么做?

您可能希望能夠檢測到何時按下了表格中的這些單元格。 可以使用Mike Welsh的建議通過實現該方法來完成:

func tableView(_ tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
這使您能夠知道從NSIndexPath中選擇了哪個單元格。

從現在開始,在我看來,您希望能夠更改由另一個UIViewController控制的文本(在按鈕或字段上)。 可以做到的一種方法是對該UIViewController進行引用,並創建一種方法來更新此文本字段。 如果UITableViewController是子視圖控制器,則可以像調用一樣簡單

override func prepareForSegue(_ segue: UIStoryboardSegue, sender sender: AnyObject?) {
    if segue.identifier == "SomeStringID" {
        self.tableViewController = segue.destinationViewController as? UITableViewController
        self.tableViewController.delegate = self
    }
}

否則,如果控制器與Segue相關聯,也可以通過重寫原始ViewController的prepareForSegue來完成。 通過使用segue.identifier映射到您在StoryBoard中/以編程方式創建的segue,您可以將委托/指針設置為原始UIViewController。

  覆蓋func prepareForSegue(_ segue:UIStoryboardSegue,發件人發件人:AnyObject?){\n     如果segue.identifier ==“ SomeStringID” {\n         self.tableViewController = segue.destinationViewController為?  UITableViewController\n         self.tableViewController.delegate =自我\n     }\n } 

通過引用其他ViewController,您應該能夠定義自己的方法來輕松更改此文本字段

希望這對您有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM