簡體   English   中英

Xcode:TableView單元格創建ViewController

[英]Xcode: TableView cell to create ViewController

我最近開始使用Xcode和Beginner創建應用程序。 我遇到了一些我想實現的東西,但是研究還不是很清楚/理解起來很復雜。

我有一個帶有星期幾的TableView,還有一個segmentedControl,這幾天重復了3次。 我想知道如何能夠使用戶單擊以帶我到另一個ViewController,這取決於它是在哪一天以及選擇了segmentedController的哪個部分,而不必在情節提要中創建21個ViewController。

我使用了ViewController並為此設置了tableView的出口。

具有segmentedController的TableView

您可以擁有一個viewcontroller,這基本上是您要使用的viewcontroller的配方。

例如,您想顯示一個帶有標簽的視圖控制器,該標簽說明分段控件中的數字和用戶點擊的日期的組合。

如果現在創建一個在情節提要板上具有標簽的ViewController,則標簽上的文本無關緊要,您可以使用代碼將文本更改為所需的任何內容。

在tableviewcontroller中,您可以使用tableview的didSelect委托方法來呈現ViewController,並將標簽設置為分段控件的值和被點擊的單元格。

我認為您一般只需要有關iOS和編程的更多信息,因此,我建議您觀看以下iTunes U課程:
https://itunes.apple.com/cn/course/developing-ios-10-apps-with-swift/id1198467120
它擁有您需要了解的一切

在你的tableview委托方法-> didSelectedRowAtIndexPath

you can simply write 
let vc = UIViewController()
/*
you can add informations here 
*/
present(vc, animated: true)

在此方法內,您可以使用indexPath獲取您單擊的單元格

let cell = tableView.cellForRowAt(indexPath)

現在您可以在此單元格中獲取信息

創建帶有兩個變量(例如-dayName和selectedSegmentIndex)的詳細信息視圖控制器。 並在您當前的viewController“ tableView(_ tableView:UITableView,didSelectRowAt indexPath:IndexPath)”中將detailsViewController與這些詳細信息一起推送

let objViewController: DetailsViewController? = UIStoryboard.mainStoryboard().instantiateViewController(withIdentifier: "DetailsViewController") as? DetailsViewController
    objViewController?.dayName = dayName
    objViewController?.selectedSegment = segmentControl.selectedSegmentIndex
    navigationController?.pushViewController(objViewController ?? UIViewController(), animated: true)

暫無
暫無

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

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