2017-08-06 44 views
0

最初我有两个按钮,标题为“+”和“ - ”。这两个按钮都位于表格单元格中。我使用协议和委托从按钮标题传递值到函数调用,这取决于输入参数。如果输入参数是“ - ” - 减少值,如果“+” - 增加。iOS:将图像按钮中的值传递给func的好方法

但后来我删除了标题并用各自的图像替换了按钮。在这里我遇到了一个问题 - 我无法正确调用函数,因为标题是空白的。

我已经实施了以下解决方法。我为这两个按钮设置了辅助功能标识符。例如,对于+:

enter image description here

和细胞类我用accessibilityIdentifier:

@IBAction func didPressOrderCellButton(_ sender: UIButton) { 
    cellDelegate?.didPressOrderCellButton(order: order!, menuItem: menuItem!, action: sender.accessibilityIdentifier!) 
} 

但是...我有一些疑惑,如果是这样做适当的方式。如果我决定使用辅助功能,它会在将来创建任何问题吗? 我不想使用标题并向ViewController类添加代码,以便每次加载或出现视图时都隐藏它。我想在我的代码中避免使用这样的解决方案,因为我相信支持这样的解决方案太困难了。

我试图找到另一个可以使用的按钮标识符,但没有成功。

回答

1

简单的方法将只设置tag值的button内,然后检查同一tag值和PlusMinus相应地执行你的操作。

例如: -

if sender.tag == 0 { 
//Do minus 
} else if sender.tag == 1 { 
//Do plus 
} 
+0

貌似有效的解决方案。但是有没有其他的字符串类型的标识符?标签没问题,但只允许使用整数值。 –

+0

除标签外,只有标题可以定义字符串,但使用标签更可靠。此外,辅助功能标识符用于自动化测试目的。 –

+0

谢谢你,侯赛因!感谢您的解释。 –