我正在尝试在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
// ...
但是,我看不到附件视图中显示的按钮。
答案 0 :(得分:0)
我可以想到两个可能的原因:
问题可能是按钮没有大小,因此它不可见。在设置图像后添加此行:
button.sizeToFit()
另一种可能性是您没有名为"arrow-right-light.png"
的图像。这不会导致现有代码崩溃,但会阻止按钮显示任何图像,因此您无法看到它。试着说UIImage(named: "arrow-right-light.png")!
,而不是测试;如果你崩溃了,那确实是问题,然后你就可以弄清楚正确的名字是什么。
答案 1 :(得分:0)
我尝试了上面的 @matt's solution,但这会使按钮与图像一样大。
我展示了一个小于 minimum advised button size of 44x44 points 的 iOS 内置信息图像。虽然按钮有效,但很难(呃)点击;这是许多应用(甚至是专业应用)中常见的隐形用户体验问题。
因此,不是调用 {{1}},您必须将按钮高度(我将整个单元格的高度设为 50)和宽度设置为一个漂亮且易于点击的 60。