[英]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.