我有UIButton
并用正确的代码设置了它的背景图像。
`[button setImage:self.image forState:UIControlStateNormal]`
它在按钮初始化时显示正确的图像,但我想让图像在状态为UIControlStateSelected
.
我能够在选择图像时更改图像,但不知道选择时哪个是正确的函数或值设置为无图像。
我应该这样做image alpha
吗0.0
?
谢谢!
我有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:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"pressed.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
尝试[button setImage:nil forState:UIControlStateSelected];
希望这可以帮助!
试试 [按钮 setSeleted:YES];
如果你想创建一个像检查列表按钮这样的按钮。这是一个示例代码:
[button setImage:imageNormal forState:UIControlStateNormal];
[button setImage:imageSelected forState:UIControlStateSelected];
.....
-(void)btnButtonPressed:(UIButton*)sender {
[sender setSelected:!sender.selected];
}
希望这对你有帮助!