2016-07-19 13 views
0

私はUIViewControllerに16 UIButtonを持ち、一度にselectedになる必要があります。シングルクリックで複数のUIButtonの背景色を変更

for loopを実行してbackgroundColorを変更して、UIButtonコレクションを作成して変更しました。それは正常に動作しています。

しかし、私は1/2行ですばやく解決する必要があります。または、1回のクリックで色を変更する効率的な方法を言うことができます。

UIViewControllerに50 UIButtonがあると、私の方法は効率的ではないと思います。

P.S. UICollectionViewを私が簡単にやってもらえるように言わないでください!

+0

がこれを見http://stackoverflow.com/questions/28208045/how-to-change-multiple-uibutton-colors-with-objective-c –

+0

@ Anbu.Karthikすでに見てきたように、ループも実行されています。私は 'KVC'も完璧な解決策ではないと思います。私はループを越えることなくそれをしたい。 –

+0

実際にボタンをストーリーボードからボタンの配列にドラッグ&ドロップすると、そこにある各ボタンのループを変更して – Tj3n

答えて

1

あなたのボタンを列挙する必要があります。しかし、あなたは拡張子に一度これを行うことができます:あなたのアイデアを得れば

extension Array where Element: UIButton { 
    func setBackgroundColor(color: UIColor) { 
     for element in self { 
      element.backgroundColor = color 
     } 
    } 
} 
+0

はい、私はそれを行うことができます!しかし、私はループなしでそれを行う必要があります。なぜなら、ボタンの数が増えれば、これは価値のある解決策ではないからです。 –