क्रेडिट @bryanmac पर उनके helpful answer के लिए जाता है। मैंने अपने कोड को शुरुआती बिंदु के रूप में उपयोग किया, लेकिन पाया कि UIImageView
का उपयोग किए बिना वही चीज़ हासिल की जा सकती है।
- (UIImage *)translucentImageFromImage:(UIImage *)image withAlpha:(CGFloat)alpha
{
CGRect rect = CGRectZero;
rect.size = image.size;
UIGraphicsBeginImageContext(image.size);
[image drawInRect:rect blendMode:kCGBlendModeScreen alpha:alpha];
UIImage * translucentImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return translucentImage;
}
विकलांग राज्य के लिए बटन की पृष्ठभूमि छवि सेट करें::
यहाँ मेरी समाधान है
UIImage * disabledBgImage = [self translucentImageFromImage:originalBgImage withAlpha:0.5f];
[button setBackgroundImage:disabledBgImage forState:UIControlStateDisabled];
संपादित करें:
मैं एक बनाने के द्वारा आगे मेरी समाधान परिष्कृत इस के साथ UIImage
पर श्रेणी विधि:
- (UIImage *)translucentImageWithAlpha:(CGFloat)alpha
{
UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);
CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height);
[self drawInRect:bounds blendMode:kCGBlendModeScreen alpha:alpha];
UIImage * translucentImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return translucentImage;
}
विकलांग राज्य के लिए बटन की पृष्ठभूमि छवि सेट करें:
UIImage * disabledBgImage = [originalBgImage translucentImageWithAlpha:0.5f];
[button setBackgroundImage:disabledBgImage forState:UIControlStateDisabled];
स्रोत
2014-02-28 08:17:36
आप अंत किया था इस के लिए एक समाधान खोजने के? – bryanmac
मुझे इस प्रश्न के समाधान खोजने में भी दिलचस्पी होगी। – SAHM
मुझे लगता है कि इस प्रश्न का उत्तर यहां जोड़ा गया था। http://stackoverflow.com/questions/3467119/avoiding-making-a-uibutton-transparent-see-through-when-disabling-it –