【问题标题】:How to access to a static cell如何访问静态单元格
【发布时间】:2015-10-22 14:21:29
【问题描述】:

我直接在storyboard中创建了一个TableView;此 tableView 在 4 部分中包含 8 个静态单元格(基本样式);现在,我如何通过代码编辑这些单元格?例如用于更改 textLabel、backgroundColor、分隔符 ecc 我尝试为每个 cel 设置一个标识符,但没有成功...

【问题讨论】:

    标签: swift tableview cell


    【解决方案1】:

    对于在情节提要中创建的静态单元格,您只需将要编辑的元素设置为IBOutlet,方法是从情节提要中按住 ctrl 并拖动到相应的视图控制器,最终得到如下内容:

    class MyViewController: UIViewController {
      @IBOutlet weak var cell1: UITableViewCell!
      @IBOutlet weak var cell2: UITableViewCell!
    }
    

    然后您可以使用cell1.textLabel 等访问基本视图中的内置元素。

    查看the documentation 关于设置IBOutlets

    要更改背景颜色,您可以直接在情节提要 UI 中进行更改,也可以访问 backgroundColor 属性。您可能想阅读UITableViewCell Class Reference

    【讨论】:

    • 非常感谢!但我的单元格中没有任何元素,因为它们是基本样式,无论如何我如何更改每个单元格的背景颜色?不存在任何类似 var cell : UITableViewCell = tableView.用于访问 tableView 单元格?
    • UITableViewCell 上有一个属性叫 backgroundColor。所以,你可以做nameOfYourCell.backgroundColor = UIColor.redColor()
    • @FabioCelli - 您有两种基本方法:在静态表格视图单元格中为适当的控件创建出口,如 p4sh4 建议的那样,或者根本不使用静态单元格,而是使用单元格原型,但随后实现标准的UITableViewDataSource 方法。如果您要更改单元格的所有属性,包括标签、图像、单元格背景颜色等,那么您的单元格对我来说听起来不是很“静态”。无论如何,我认为你应该接受 p4sh4 的回答:你可能不喜欢这个答案,但它是正确的。
    • @Rob 在我要制作的这个应用程序中,我使用原型单元格来填充表格视图,其中包含数组或 dataManager 的数据,在这种情况下,这是一个菜单表格列表(标签和图像是先验选择的)我想象这些单元格可能是静态单元格。但是,如果这个问题看起来很愚蠢,我很抱歉:我知道网点,我在论坛上寻找其他信息,但老实说,我认为这个问题还有另一种解决方案!但是非常感谢你们所有人,p4sh4、Rob 和 Epic Defeater,你们速度很快,随时待命^_^
    【解决方案2】:

    感谢 p4sh4 的 @IBOutlet 建议。 但是,您应该尝试“Outlet Collection”,而不是多个 Outlets。

     @IBOutlet var tableLabelCollection: [UILabel]!
    
     override func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) {
            print("accessory Button Tapped: \(indexPath.row) => \(tableLabelCollection[indexPath.row].text)")
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-10
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      相关资源
      最近更新 更多