Swift3:获取一个动作按钮来触发一个TableView
Swift 3: Get an action button to trigger a TableView
美好的一天,我想要 table 视图外的一个按钮,它会触发显示 table 视图(TableView 文本首先为空白,然后在我单击操作按钮后显示).所有这些都发生在同一个视图控制器中。这是我的 TableView 代码:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return postData2.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
-> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell2")
let label1 = cell?.viewWithTag(1) as! UILabel
label1.text = postData2[indexPath.row]
return cell!
}
如您所见,我在那里也有一个标签用于格式化。不知道会不会影响文字的触发。
这是我的空操作按钮的代码:
@IBAction func button2(_ sender: Any)
{
}
谢谢。
有许多不同的方法可以做到这一点。最简单的方法之一是在开始时隐藏 table 视图,然后在单击按钮时显示 table 视图。类似于:
@IBAction func button2(_ sender: Any) {
tableView.hidden = false
}
但实际实施可能会有所不同,具体取决于您要实现的其他目标。例如,您可能希望 table 视图始终可见,但不希望在点击按钮之前显示任何数据。在那种情况下,您必须做一些不同的事情。
您可以实现一个变量来指示是否要在 table 视图中显示数据。
var showData = false
如果showData
为真,则numberOfRowsInSection
到return实际行数,否则,return0.
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return showData ? <actual row count> : 0
}
这样,您可以控制何时显示数据以及何时不显示数据。当然,您必须在按钮单击方法中将 showData
设置为 true 并重新加载数据。像这样:
@IBAction func button2(_ sender: Any) {
showData = true
tableView.reloadData()
}
美好的一天,我想要 table 视图外的一个按钮,它会触发显示 table 视图(TableView 文本首先为空白,然后在我单击操作按钮后显示).所有这些都发生在同一个视图控制器中。这是我的 TableView 代码:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return postData2.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
-> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell2")
let label1 = cell?.viewWithTag(1) as! UILabel
label1.text = postData2[indexPath.row]
return cell!
}
如您所见,我在那里也有一个标签用于格式化。不知道会不会影响文字的触发。 这是我的空操作按钮的代码:
@IBAction func button2(_ sender: Any)
{
}
谢谢。
有许多不同的方法可以做到这一点。最简单的方法之一是在开始时隐藏 table 视图,然后在单击按钮时显示 table 视图。类似于:
@IBAction func button2(_ sender: Any) {
tableView.hidden = false
}
但实际实施可能会有所不同,具体取决于您要实现的其他目标。例如,您可能希望 table 视图始终可见,但不希望在点击按钮之前显示任何数据。在那种情况下,您必须做一些不同的事情。
您可以实现一个变量来指示是否要在 table 视图中显示数据。
var showData = false
如果showData
为真,则numberOfRowsInSection
到return实际行数,否则,return0.
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return showData ? <actual row count> : 0
}
这样,您可以控制何时显示数据以及何时不显示数据。当然,您必须在按钮单击方法中将 showData
设置为 true 并重新加载数据。像这样:
@IBAction func button2(_ sender: Any) {
showData = true
tableView.reloadData()
}