当点击静态 UITableView 中的单元格时触发一个动作 [Swift]
Trigger an action when cell in static UITableView is tapped [Swift]
我在一个表视图中有八个不同的静态单元格。我正在尝试对其中六个单元格执行不同的操作。其中两个打开警报视图,两个打开 safari,一个清除缓存,最后一个打开共享弹出窗口。以前,他们都使用 UIButtons 和 IBActions。但是自从设置静态表视图以来,我 运行 遇到了问题。
我正在尝试 link 使各个单元格适应它们自己的操作,但我似乎无法通过插座做到这一点。我该怎么做?
谢谢。
Swift 3
Table查看代码:
import UIKit
class AltSettingsTableViewController: UITableViewController {
@IBOutlet weak var copyrightInfo: UITableViewCell!
@IBOutlet weak var shareApp: UITableViewCell!
@IBOutlet weak var rateApp: UITableViewCell!
@IBOutlet weak var clearCache: UITableViewCell!
@IBOutlet weak var purchasePhotos: UITableViewCell!
@IBOutlet weak var helpFeedback: UITableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.backgroundColor = UIColor.clear
self.tableView.backgroundView = nil;
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return CGFloat.leastNormalMagnitude
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return CGFloat.minimum(35, 35)
}
override var prefersStatusBarHidden: Bool {
get {
return true
}
}
你是否覆盖了func tableView(UITableView, didSelectRowAt: IndexPath)
?它应该让您知道何时点击一个单元格,然后您可以使用 indexPath
确定它是哪个单元格。
编辑:UITableViewDelegate and NSIndexPath.
的文档
示例:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == 0 {
// do stuff
}
//...
}
我在一个表视图中有八个不同的静态单元格。我正在尝试对其中六个单元格执行不同的操作。其中两个打开警报视图,两个打开 safari,一个清除缓存,最后一个打开共享弹出窗口。以前,他们都使用 UIButtons 和 IBActions。但是自从设置静态表视图以来,我 运行 遇到了问题。
我正在尝试 link 使各个单元格适应它们自己的操作,但我似乎无法通过插座做到这一点。我该怎么做?
谢谢。
Swift 3
Table查看代码:
import UIKit
class AltSettingsTableViewController: UITableViewController {
@IBOutlet weak var copyrightInfo: UITableViewCell!
@IBOutlet weak var shareApp: UITableViewCell!
@IBOutlet weak var rateApp: UITableViewCell!
@IBOutlet weak var clearCache: UITableViewCell!
@IBOutlet weak var purchasePhotos: UITableViewCell!
@IBOutlet weak var helpFeedback: UITableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.backgroundColor = UIColor.clear
self.tableView.backgroundView = nil;
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return CGFloat.leastNormalMagnitude
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return CGFloat.minimum(35, 35)
}
override var prefersStatusBarHidden: Bool {
get {
return true
}
}
你是否覆盖了func tableView(UITableView, didSelectRowAt: IndexPath)
?它应该让您知道何时点击一个单元格,然后您可以使用 indexPath
确定它是哪个单元格。
编辑:UITableViewDelegate and NSIndexPath.
的文档示例:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == 0 {
// do stuff
}
//...
}