1

UISegmentedControl のスタイルが気に入らなかったので、外観を変更しようとしましたが、ボタンに画像を添付できませんでした。私はまったく変わらなかった。

今、私は 4 つの UIButtons でその機能を複製する方法を見ています。

インターフェイス ビルダーで 4 つの UIButton をセットアップし、それらに異なるタグ番号を追加しました。

私が達成できないのは、ボタンがタップされたときです。それは「選択」され、他のボタンは選択されていないはずです。

それらすべてを接続するにはどうすればよいですか?

また、UISegmented コントロールの外観を変更する方法があれば、このすべての作業が必要になります。

みんな助けてくれてありがとう

これはiPhone OS用です

4

1 に答える 1

3

4つのボタンを使用して、他のすべてをオフにすることはそれほど難しくありません. 開始するためのコードを次に示します。

- (void)buttonPressed:(NSInteger)activeButtonIndex {
    for (int i = 0; i < [buttons count]; i++) {
        MYButton *button = [buttons objectAtIndex:i];
        if (i == activeButtonIndex) {
            [button setDepressed:YES];
        } else {
            [button setDepressed:NO];
        }
    }
}
- (void)button1Pressed:(id)sender { [self buttonPressed:1]; }
- (void)button2Pressed:(id)sender { [self buttonPressed:2]; }
- (void)button3Pressed:(id)sender { [self buttonPressed:3]; }
- (void)button4Pressed:(id)sender { [self buttonPressed:4]; }

ここで注意すべき重要な設定:

  1. 状態を持たせるには、uibutton をサブクラス化する必要がありますdepressed。このように、アイテムが選択されている場合、ボタンの画像または背景を入れ替えて、押し下げられたように見せるだけです。
  2. buttonsこのサブクラス化された uibutton オブジェクトで埋められる配列です。viewDidLoad; で設定します。
于 2010-04-22T13:12:52.883 に答える