0

シフトキーをやりたいです。クリックするとキーが他の文字に変わります。iPhoneのようにこのシフトボタンをクリックしたときに明るくするにはどうすればよいですか?いくつかのサンプルコードを教えてください。

4

1 に答える 1

2

ボタンをタップしたときに画像を変更してから元に戻す場合は、-[setImage:forState:]メソッドを使用できます。この例では、2つの画像があると想像してください。押されていない画像と押された画像のそれぞれにimage_one.pngとimage_two.pngがあります。

次のようなボタンがあるとします。

UIButton *button = [[UIButton alloc] init];
[button setFrame:CGRectMake(0, 0, 100, 44)];
[button setImage:[UIImage imageNamed:@"image_one.png"] forState:UIControlStateNormal];
[[self view] addSubview:button];

画像を前後に変更するターゲットとアクションを追加できます。現在の画像を確認するには、tagプロパティを使用します。

[button setTag:0]; // initial, non pressed button tag, for this example
[button addTarget:self action:@selector(swapImage:) forControlEvents:UIControlEventTouchUpInside];

そして、setImageメソッドに次のようなものがあります。

-(void)swapImage:(UIButton *)sender {

    if ([sender tag] == 0) {

        [sender setTag:1]; // pressed tag, for example
        [sender setImage:[UIImage imageNamed:@"image_two.png"] forState:UIControlStateNormal];

    } else {

        [sender setTag:0]; // non-pressed tag, for example
        [sender setImage:[UIImage imageNamed:@"image_one.png"] forState:UIControlStateNormal];

    }

}

最初にボタンをタップすると、ボタンが選択されます。もう一度タップすると、キーボードのシフトボタンと同じように選択が解除されます。

于 2012-09-06T02:45:35.593 に答える