[英]UIButton's image with states
我有UIButton
並使用適當的代碼設置其背景圖像。
`[button setImage:self.image forState:UIControlStateNormal]`
當按鈕初始化時,它顯示正確的圖像,但是當狀態為UIControlStateSelected
時,我想使圖像消失。
我可以在選擇圖像時更改圖像,但是不知道哪個是正確的功能或在選擇時設置為無圖像的值。
我應該將image alpha
設置為0.0
嗎?
謝謝!
使用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];
試試[button setImage:nil forState:UIControlStateSelected];
希望這可以幫助!
嘗試[button setSeleted:YES];
如果您要創建一個按鈕,例如檢查清單按鈕。 這是一個示例代碼:
[button setImage:imageNormal forState:UIControlStateNormal];
[button setImage:imageSelected forState:UIControlStateSelected];
.....
-(void)btnButtonPressed:(UIButton*)sender {
[sender setSelected:!sender.selected];
}
希望這對您有所幫助!
請檢查並嘗試。 這可能對您有用:
[button setImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"pressed.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.