点击静态UITableView中的单元格时触发动作[Swift]

时间:2016-12-23 22:14:11

标签: ios swift uitableview iboutlet

我在tableview中有八个不同的静态单元格。我试图用六个单元格执行不同的操作。其中两个打开一个警报视图,两个打开safari,一个清除缓存,最后一个打开一个共享弹出窗口。以前,他们都与UIButtons和IBActions合作。但是自从设置静态tableview以来,我遇到了问题。

我正在尝试将各个单元格连接到自己的行为中,而我似乎无法通过插座来实现这一点。我怎么能这样做?

谢谢。

Swift 3

表格视图代码:

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
    }
}

1 个答案:

答案 0 :(得分:3)

你是否覆盖了func tableView(UITableView, didSelectRowAt: IndexPath)?它应该让您知道何时点击一个单元格,然后您可以使用indexPath来确定它是哪个单元格。

修改:UITableViewDelegateNSIndexPath的文档。

示例:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    if indexPath.row == 0 {
        // do stuff
    }
    //...
}