如何在swift中以编程方式打开一个新的tableview
Posted
技术标签:
【中文标题】如何在swift中以编程方式打开一个新的tableview【英文标题】:How to open up a new tableview programmatically in swift 【发布时间】:2016-08-05 17:53:44 【问题描述】:我在情节提要中创建了一个包含 11 行的 tableview。我希望能够点击每一行并将其打开到它自己的 tableview 控制器中,我将在其中存储数据,具体取决于所点击的行。
var array = ["row 1", "row 2", "row 3", "row 4", "row 5", "row 6", "row 7", "row 8", "row 9", "row 10", "row 11"]
override func numberOfSectionsInTableView(tableView: UITableView) -> Int
return 1
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return array.count
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCellWithIdentifier("prototypeCellIdentifier", forIndexPath: indexPath)
cell.textLabel?.text = array[indexPath.item]
cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
return cell
这是我为创建行所做的。
【问题讨论】:
UITableViewDelegate 方法func tableView(_ tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
学习阅读 Apple 文档。这一切都在里面。或搜索互联网。互联网上有无数关于此的教程和示例。
@dasdom 我想你可能正在做点什么。如果每个人都这样做,并且堆栈溢出不必存在。
@icestorm0806 ***.com/help/how-to-ask
【参考方案1】:
简而言之:
-
转到您的故事板
向 Storyboard 添加另一个 TableViewController
在11行的TableView的tableViewCell上按住鼠标右键,将其拖向新创建的TableViewController
松开鼠标,将出现一个弹出窗口。
选择其中一项,例如
show
构建并运行您的应用,单击一个单元格,一个新的 TableViewController 将打开
要将数据发送到通过单击一行显示的 ViewController,您应该查看方法 prepareForSegue(_)
【讨论】:
这里也有很多关于如何在视图控制器之间传递数据的好答案。也许你可以链接其中一个? @Losiowaty,好点 :) 有关使用 segues 时发送数据的更多详细信息:***.com/a/26089243/5489170 我还找到了有关单击 UITableViewCell 时如何显示新 ViewController 的更详细说明: ***.com/q/28323925/5489170以上是关于如何在swift中以编程方式打开一个新的tableview的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中以编程方式打开 icloud 应用程序(文件)
在 Swift 中以编程方式在 UITableViewCell 中创建一个 UICollectionView
如何在 Swift 中以编程方式更改 UICollectionViewCell 大小?