如何在Swift的tableView单元格中添加一个开关?

时间:2014-08-01 11:51:58

标签: ios uitableview swift

我想在我的单元格中添加一个开关到tableView中,但我不知道..如果我将它添加到storyboard,声明出口我得到连接错误。我只能用这个代码添加一个带有参数cell.imageView的ImageView,但我无法添加一个开关..怎么能做到这一点?

  override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
    var cell:UITableViewCell! = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell!

    cell.textLabel.text = self.contacts[indexPath.row]
    cell.imageView.image = UIImage(named: "image")
    cell.imageView.layer.borderWidth=1.0
    cell.imageView.layer.masksToBounds = false
    cell.imageView.layer.cornerRadius = 13
    cell.imageView.clipsToBounds = true

        cell.backgroundColor = UIColor.clearColor()

    return cell
}

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在使用默认UITableViewCell,其中已设置了组件。你需要:

  1. 子类UITableViewCell
  2. 转到故事板
  3. 在属性检查器
  4. 中将单元格样式设置为自定义
  5. 在身份检查器中将类设置为自定义类
  6. dequeueReusableCellWithIdentifier作为您的自定义类
  7. 将单元格样式设置为自定义,您可以在故事板中添加开关和您需要的任何其他内容,并将任何IBOutlet和IBActions连接到您的UITableViewCell子类。

答案 1 :(得分:0)

因为您使用的是标准表格视图单元格类

var cell:UITableViewCell! ...  as UITableViewCell!`

因此您只能访问该类的已定义属性。您应该使用特定的类,这样您就可以通过其他方式访问或访问子视图(例如通过标记查找,但请注意特定的单元子类是更好的方法)。