0

UIButton背景画像を適切なコードで設定しました。

`[button setImage:self.image forState:UIControlStateNormal]`

ボタンが初期化されると正しい画像が表示されますが、状態が のときに画像を消したいですUIControlStateSelected

画像が選択されているときに画像を変更することはできましたが、選択時に画像なしに設定する正しい機能または値がわかりません。

を にする必要image alphaがあり0.0ますか?

ありがとうございました!

4

4 に答える 4

4

Photoshop を使用して、背景が透明な新しい画像を作成します。nope.png ファイルとして保存し、プロジェクトにドラッグします。それから

[button setImage:[UIImage imageNamed:@"nope.png"] forState:UIControlStateSelected];

別の方法として、新しい画像カテゴリを作成する必要があります:

@interface UIImage (UIImageFrameColor)
+(UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size;
@end

@implementation UIImage (UIImageFrameColor)
+(UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size
{
    UIGraphicsBeginImageContextWithOptions(size, YES, 0);

    [color set];
    UIBezierPath * path = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, size.width, size.height)];
    [path fill];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext ();
    UIGraphicsEndImageContext();

    return image;
}
@end

次に、ボタンの夕食のビューの背景色と同じ色の画像を作成する必要があります

    UIImage *bgImage = [UIImage imageWithColor:button.supperview.backgroundColor andSize:button.frame.size];
    [button setImage:bgImage forState:UIControlStateSelected];
于 2013-08-23T00:16:25.563 に答える
1

試す[button setImage:nil forState:UIControlStateSelected];

お役に立てれば!

于 2013-08-23T00:13:16.377 に答える