2013-07-05 5 views

答えて

1

サブクラス化UIButtonとsetEnabledを拡張:方法が動作するようです:

- (void) setEnabled:(BOOL)enabled {  
    [super setEnabled:enabled]; 
    if (enabled) { 
     self.imageView.alpha = 1; 
    } else { 
     self.imageView.alpha = .25; 
    } 
} 
+0

これは実際にのために働くん君は? iOS 7では、ボタンの画像のアルファ設定を変更することはできません。 – Axeva

0

あなただけの背景に無地の色を使用していますか?またはイメージを使用していますか?

あなたは画像を使っているなら、あなたは内蔵のアルファで画像を使用することができます。

あなたは色を使っているなら、あなたは色にアルファを設定することができます。

ただし、どのビューのアルファも変更すると、すべてのサブビューに影響します。

0

UIButtonを使用すると、Round RectではなくCustomにボタンスタイルを設定して、背景を削除することができます。それはタイトルをそのままに保ちますが、ボタンの背景は削除されます。ストーリーボードでこれを行う場合は、要素のプロパティでボタンのスタイルを変更できます。コードの場合、形式は次のとおりです。

UIButton *button = [[UIButton alloc] buttonWithType:UIButtonTypeCustom]; 
// Setup frame and add to view 
21

これは私の作品:

self.myButton.backgroundColor = [UIColor clearColor]; 

またはあなたはまだあなたが使用することができ、透明性と、それは完全にクリアしたくない場合:

self.myButton.backgroundColor = [UIColor colorWithRed:200.0/255.0 green:200.0/255.0 blue:200.0/255.0 alpha:0.5]; 

2番目の例では、アルファ0.5のグレーの色が表示されます。 スウィフト

+0

なぜ私はこれについて考えることができませんでしたか?ありがとう! – Elsint

7

import UIKit 

class SignInUpMenuTableViewControllerBigButton: UIButton { 

    required init(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     self.applyCustomDesign() 
    } 

    func applyCustomDesign() { 
     // We set the background color of the UIButton. 
     self.clearHighlighted() 
    } 

    override var highlighted: Bool { 
     didSet { 
      if highlighted { 
       self.highlightBtn() 
      } else { 
       self.clearHighlighted() 
      } 
     } 
    } 

    func highlightBtn() { 
     self.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.0) 
    } 

    func clearHighlighted() { 
     self.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.05) 
    } 

} 
+0

'colorWithAlphaCompnent'のためにプラス! Swift 3の場合: 'UIColor.black.withAlphaComponent(0.8)' – kakubei

13

あなたはまた、

は添付画像を参照して、ストーリーボードでの色のアルファを変更することができます。

change alpha of color in storyboard/interface builder

関連する問題