0

私はココアタッチでのiPadプログラミングに比較的慣れていません。

私はアルファチャンネルを持つPNGを持っています。ボタンの周りに境界線があるように見えるように、UIButton のサブビューとしてオーバーレイしたいと考えています。(アルファ チャネルは画像の中心にあるため、ユーザーはそれを透かして見る必要があります)。

アルファチャンネルを正しく表示する方法が見つからないようです。中心はまだ不透明な白として表示されます。

それができない場合、UIButton の周りに境界線を引くにはどうすればよいでしょうか? UIButton をサブクラス化し、-drawRect をオーバーライドしますか? ボタンは境界線と同様にプログラムによって (動的に) 追加されることに注意してください。(境界線を追加するためにボタンを削除したくありません。)スーパービュー(スクロールビュー)に境界線の画像を重ねて、ボタンに対応するオフセットを設定するだけなので、アルファ - ソリューションが望ましいでしょう。 .

4

1 に答える 1

1

UIButtonに画像を追加したり、画像を設定したりすることはできますが、私が知る限り、全体にアルファマスクを設定することはできません(質問を正しく理解している場合)。そのため、穴の開いた標準のボタンは使用できません。ただし、カスタムタイプのボタンを使用して、画像を任意の画像に設定できるため、希望する効果が得られます。後で改良する必要がある場合は、サブビューを追加できます。

オーバーレイで編集:

    UIButton *button = [UIButton buttonWithType....]; // your ordinary button here
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"youroverlay.png"]];
    // maybe adjust your overlay position here, e.g. imageView.center = .... (use bounds of button, not its frame), or the size directly
    [button addSubview:imageView];
于 2010-06-10T12:16:04.067 に答える