2011-07-08 1 views
3

私はUIButtonをサブビューとしてポップアップに追加していますが、半透過的に表示することはできません。ポップアップのメインビューの背景は半透明に表示されますが、このUIButtonは完全に不透明のままです。誰かが下のコードがうまくいかない理由を教えてもらえますか?ありがとう。私のUIButtonを半透明で表示させることができません

UIButton* checkButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    checkButton.frame = CGRectMake(187, 288, 30, 30); 
    [checkButton setTitle:@"?" forState:UIControlStateNormal]; 
    checkButton.opaque = NO; 
    [checkButton setBackgroundColor:[UIColor colorWithWhite:1.0 alpha:0.3]];   
    [checkButton setTitleColor: [UIColor colorWithRed: 51/255.0 green:0 blue: 153/255.0 alpha:0.5] forState: UIControlStateNormal]; 
    [checkButton addTarget:self action:@selector(check) forControlEvents:UIControlEventTouchUpInside]; 
    [self addSubview:checkButton]; 

答えて

2

することで、丸みを帯びた矩形ボタンで色が層ではなく、定期的にバックグラウンドで動作しているかなり確信し

#import <QuartzCore/QuartzCore.h> 

イム、これが必要になります

myButton.layer.backgroundColor = [UIColor x..] 

にごUIColorを設定してみてくださいそれは確かに1つの動きで多くのことをやる、バック1に景色の色にアルファを入れて、ビューのalphaプロパティを打つ人々がその色を変更するのに苦労する理由..交互

です。

+0

私はあなたが提案したものを試しました。私は "互換性のないポインタの種類"と言う警告を受けました。 – reid55

+1

OK確認、してみてください **太字** mybutton.layer.backgroundColor = [UIColorはxcolor] .CGColor 最後ほんの少しは、私が行って、またlayer.background色のみを示し、それを試してみました申し訳ありません私のミス – Jef

+0

重要です 後ろに。白はその上の文書化されていないサブビューです。私は少しオブジェクトのサブビューインデクサースクリプトを持っている、私はそれを見て、私は多くの人が丸いrectボタンを色づけしたいと知っている.. – Jef

0

ボタンタイプとして代わりにUIButtonTypeCustomUIButtonTypeRoundedRectを使用してみてください。

0

UIButtonTypeRoundedRectが奇妙です。背景/アルファなどを設定すると、ボタンがレンダリングされる矩形の背景が変更されます。

あなたはUIButtonTypeCustomに、ボタンの種類を変更し、それを丸め見せることcornerRadiusを設定するためにQuartzCoreを使用することができます。

3

RoundedRectボタンの背景は、ボタン自体ではなく、ボタンが配置されている矩形です。背景色を赤または同等に表示するように変更してみてください。背景がボタンの丸い角とボタンが設定されている長方形の枠の間にのみ表示されます。残念ながら、ボタンの色を変更することはできません。これは、ほとんどの人がbackgroundColorプロパティを変更したときに行っていると思います。

は、ボタンの色を変更するには、 UIButtonTypeCustomを使用する必要があります。

1

PengOneが正しい - 背景色を設定しても、丸い矩形の色は変わりません。それはrectの周りの角にのみ影響します。

ボタンのアルファプロパティを1未満に設定することもできます。ビューを半透明にするには0.7を試してください。

+0

ありがとうございます。 「ボタンのアルファプロパティを1未満のものに設定する」という意味のコード例を私に教えてください。 – reid55

+0

button.alpha = 0.7; – CharlieMezak

+0

ありがとう、チャーリー。 – reid55

関連する問題