因为我是iphone开发的新手。我想将“info UIButton”这样的发光效果赋予“自定义UIButton”。
- >
请在这种情况下帮助我,在按钮点击上给出上述效果。
答案 0 :(得分:13)
我发现了一个简单的方法。 通过启用“显示触摸高亮显示”属性的复选标记。 见截图..
它适用于我的自定义按钮。
答案 1 :(得分:6)
如果您不想使用图像,请使用下面的代码 导入'CoreGraphics框架'以使用下面的代码
-(IBAction)myButtonTapped:(id)sender
{
UIButton *tmpbtn=(UIButton *)sender;
tmpbtn.layer.shadowColor = [UIColor cyanColor].CGColor;
tmpbtn.layer.shadowRadius = 10.0f;
tmpbtn.layer.shadowOpacity = 1.0f;
tmpbtn.layer.shadowOffset = CGSizeZero;
}
要删除发光效果,只需添加
-(void)removeBtnGlow
{
myBtn.layer.shadowColor = [UIColor clearColor].CGColor;
myBtn.layer.shadowRadius = 10.0f;
myBtn.layer.shadowOpacity = 1.0f;
myBtn.layer.shadowOffset = CGSizeZero;
}
答案 2 :(得分:1)
你剪切了发光效果的图像并使用此代码
[yourBtn setBackgroundImage:[UIImage imageNamed:@"yourimagename"] forState:UIControlStateHighlighted];
答案 3 :(得分:1)
您是否曾尝试创建按钮图标的发光版图像,并将其设置为以下代码:
[yourButton setImage:glowImage forState:UIControlStateHighlighted];
或在界面构建器中:
答案 4 :(得分:1)
作为UIBUtton
类别并使用glowWithProgress:
,您可以设置焕发光晕变化
@implementation UIButton (Extra)
-(void)addGlow{
[self glowWithProgress:1.0];
}
-(void)removeGlow{
[self glowWithProgress:0.0];
}
-(void)glowWithProgress:(CGFloat)progress{
CGFloat realProgress = MAX(.0f, MIN(1.0f, progress));
self.layer.shadowColor = [UIColor whiteColor].CGColor;
self.layer.shadowRadius = 10.0f;
self.layer.shadowOpacity = 1.0f * realProgress;
self.layer.shadowOffset = CGSizeZero;
}
@end