UITableViewCell 中的自定义附件按钮

Ric*_*tto 3 uitableview accessoryview ios swift

我正在尝试在 UITableViewCell 的附件视图中添加一个自定义按钮。

我添加了以下代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {      
       // ....     
       let button = UIButton(type: .custom)
       button.setImage(UIImage(named: "arrow-right-light.png")?.maskWithColor(color: .white), for: .normal)
       button.addTarget(self, action: #selector(buttonTest), for: .touchUpInside)
       button.tag = indexPath.row
       cell.accessoryView = button
       // ...
Run Code Online (Sandbox Code Playgroud)

但是,我在附件视图中没有看到该按钮。

mat*_*att 8

我能想到两个可能的原因:

  • 问题可能是按钮没有大小,所以它是不可见的。设置图像添加这一行:

    button.sizeToFit()
    
    Run Code Online (Sandbox Code Playgroud)
  • 另一种可能性是您没有名为"arrow-right-light.png". 这不会使您现有的代码崩溃,但会阻止按钮具有任何图像,因此您将看不到它。试着说UIImage(named: "arrow-right-light.png")!,就像测试一样;如果您崩溃,那确实是问题所在,然后您可以找出正确的名称。

  • 优秀!感谢您的反馈。 (2认同)