繁体   English   中英

UITableViewCell 中的自定义附件按钮

[英]Custom Accessory Button in UITableViewCell

我正在尝试在 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
       // ...

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

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

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

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

我尝试了上面@matt 的解决方案,但这会使按钮与图像一样大。

我展示了一个 iOS 内置信息图像,它小于44x44 点最小建议按钮大小 虽然按钮有效,但很难(呃)点击; 这是许多应用程序(甚至是专业应用程序)中常见的隐形用户体验问题。

因此,不是调用button.sizeToFit()您必须将按钮高度(我将整个单元格高度设为 50)和宽度设置为一个漂亮且易于点击的 60。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM