1

iOS5 ビュー コントローラーで動的なリンク/ボタンのセットを作成したいのですが、これを行う最善の方法を見つけようとしています。

例:

アイテム1 アイテム2 アイテム3 : : アイテムN

各アイテムはクリック可能なリンク/ボタンであり、リンクに基づいて別の画面をロードするなどのアクションを実行します。

アイテムがいくつあるか事前にわからないので、すべてのアイテムが画面に収まらない場合は、スクロールして表示できるようにする必要があります。

私の質問: 1.これを行うより良い方法は何ですか? ラベルとボタンを動的に作成することもできますが、これはかなり面倒なようで、異なるボタンをどのように区別するか完全にはわかりません (基本的に、クリックされたアイテムを見つけるにはインデックスが必要です)。2. あるいは、このページを HTML としてレンダリングし、リンクだけを表示できるかどうか疑問に思っていました。私はこれを行ったことがなく、ボタンをリンクに関連付ける方法がわかりません。

助言がありますか?

AK

4

2 に答える 2

0
  1. このプロパティを使用してtag、ボタンの作成時に必要なインデックス値を保存することができます。次に、を使用してアクセスし、ボタンタップハンドラーで評価しますbutton.tag

  2. たぶん、HTMLベースのアプローチでCordovaを試すことができます。あまり馴染みがないので、はっきりとは言えません。

それが役に立てば幸い。

于 2012-05-15T03:58:20.187 に答える
0

tag(1)ボタンのインデックスに基づいてUIButton プロパティを割り当てることができます。イベントがトリガーされる場合、 をチェックすることで、イベントがどのボタンに属しているかを認識できますtag

サンプル :

// Initializing some buttons
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button1.tag = 1;
[button1 addTarget:self 
            action:@selector(buttonPushed:) 
  forControlEvents:UIControlEventTouchUpInside];
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button2.tag = 2;
[button2 addTarget:self 
            action:@selector(buttonPushed:) 
  forControlEvents:UIControlEventTouchUpInside];

ボタン イベントのセレクター:

- (void)buttonPushed:(id)sender {
    ...
    if ([sender tag] == 1) {
        // do something after button1 event
    } else if () {
        // do something after button2 event
    }
    ...
}

(2) HTML で行うことを選択した場合は、CMHTMLViewを確認できます。

于 2012-05-15T06:11:06.563 に答える