如何设置按钮图像取决于带有for循环的数组的值?

时间:2019-08-01 07:00:58

标签: swift

我有这样的数组,并且计数不固定

var option = ["0","1","0","1","1","0","0"]

带有按钮阵列

var buttons = [firstBtn,secondBtn,thirdBtn]

我需要根据选项数组的值设置按钮图像

option[0] = "0", firstBtn.setImage(zeroImage, for: .normal)
option[0] = "1", firstBtn.setImage(firstImage, for: .normal)

我在下面尝试过

for button in buttons { 
        for value in option {
              if value == "0" {
                    button?.setImage(zeroImage, for: .normal)
              }else {
                    button?.setImage(firstImage, for: .normal)
              }
            }
          }

但这可能导致内部for循环将持续获取下一个直到完成,然后返回外部for循环

我需要任何具有自己图像的按钮

另外,我的选项的计数不是固定的

这应该取决于我有多少个按钮

我应该如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

创建如下所示的按钮集合

Rails.application.config.content_security_policy do |policy|
  # other policies
  policy.script_src :self, :https, :unsafe_inline
end

创建一个图像数组,该数组的长度等于buttonsCollection

@IBOutlet var buttonsCollection: [UIButton]!    // set tags for button on storyboard or xib or assign programmatically if creating button programatically

然后简单地用于每个循环

var option = ["0","1","0","1","1","0","0"]

(如果我们与您一起实施

for button in buttonsCollection {
                button?.setImage(option[button.tag], for: .normal)
      }

注意:对于这两种情况,请确保在两个数组中为按钮及其标题设置相同的索引