2017-09-20 11 views
1

ここで検索された質問 This しかし、私の問題を完全には解決しません。ユニークな識別子を持つUIButton

ここでは、UIScrollViewに約100個のボタンがあり、サーバーからの応答に基づいてボタンを強調表示する必要があります(つまり、Serverが「Button_Unique_Id」:「Button_ABC_1」を送信します)。ここで問題は、ユニークな識別子 "Button_ABC_1"を持つUIButtonを作成する方法です。サーバーからの応答を受け取ったときにButton_Unique_Id値で自分のボタンを識別し、そのボタンだけを変更できます。

button.tag = index 

このアプローチは、私が値でボタンを識別することができないとして、私は「Button_ABC_1」

私が応答最高の練習をいただければ幸いを得ましたが失敗します。

+0

コードを表示してください。 –

答えて

1

[String : UIButton]Dictionaryであなたのボタンへの参照を保持し、その後、あなたは、単にそれを尋ねることによって適切なボタンを取得することができ、キーとしてこれらの文字列を使用します。

let buttonOfInterest = buttons["Button_ABC_1"] 
1

UIButtonのサブクラスを作成し、idインスタンス変数を任意のタイプに追加してください。がんばろう!

EDIT

class MyButton: UIButton { 
    var id : String? 
} 

使用法:

let btn = MyButton(type: .custom) 
btn.id = "MY_BUTTON_ID" 

そのような何か。

+0

あなたは、例またはいくつかのリンクを与えることができますか?、私は各UIButtonのサブクラスを作成する必要がありますか? – niravdesai21

+0

答えを編集しました。 –

+0

ボタンごとにサブクラスを作成する必要はありません。作成後、一意のIDをボタンに割り当て、後でボタンを識別できるように配列または辞書に参照を保持します。 –

0

あなたは整数値を格納するためButton.tag = integerValueを使用することができますボタン付き。 これらのデータの配列を管理し、その配列をボタンタグでバインドすることができます。

関連する問題