我最近开始使用Xcode和Beginner来创建应用。我发现了一些我想要实施的内容,但研究并不十分清楚/复杂。
我有一个带有Days of Week的TableView,还有一个segmentedControl,这些日子重复这些天3次。我想知道我是如何能够让用户点击带我到另一个ViewController,具体取决于它是哪一天以及segmentedController的哪个部分被选中而无需在故事板中创建21个viewcontrollers。
我已经使用了一个ViewController并为tableView设置了一个插座来进行此设置。
答案 0 :(得分:0)
你可以拥有一个viewcontroller,它基本上是你想去的viewcontroller的配方。
例如,您希望显示一个带有标签的viewcontroller,该标签表示分段控件中的数字与用户点击的日期的组合。
如果您现在创建一个在故事板中有标签的ViewController,标签上的文字无关紧要,您可以使用代码将文本更改为您想要的任何内容。
在tableviewcontroller中,您可以使用tableview的didSelect委托方法来呈现viewcontroller,并将标签设置为分段控件和被轻击的单元格的值。
我认为您只需要更多关于iOS和编程的信息,因此我建议您观看以下iTunes U课程:
https://itunes.apple.com/us/course/developing-ios-10-apps-with-swift/id1198467120
它拥有您需要知道的一切
答案 1 :(得分:0)
在你的tableview委托方法中 - > didSelectedRowAtIndexPath
you can simply write
let vc = UIViewController()
/*
you can add informations here
*/
present(vc, animated: true)
在此方法中,您可以使用indexPath
获取您点击的单元格
let cell = tableView.cellForRowAt(indexPath)
现在您可以获取此单元格中的信息
答案 2 :(得分:0)
使用两个变量(Ex - dayName和selectedSegmentIndex)创建详细视图控制器。并且在你当前的viewController" tableView(_ tableView:UITableView,didSelectRowAt indexPath:IndexPath)"使用这些
这些细节推送detailsViewControllerlet objViewController: DetailsViewController? = UIStoryboard.mainStoryboard().instantiateViewController(withIdentifier: "DetailsViewController") as? DetailsViewController
objViewController?.dayName = dayName
objViewController?.selectedSegment = segmentControl.selectedSegmentIndex
navigationController?.pushViewController(objViewController ?? UIViewController(), animated: true)