对信息UIButton等自定义UIButton的辉光效果

时间:2013-05-03 05:56:02

标签: iphone ios uibutton

因为我是iphone开发的新手。我想将“info UIButton”这样的发光效果赋予“自定义UIButton”。

enter image description here - > enter image description here

请在这种情况下帮助我,在按钮点击上给出上述效果。

5 个答案:

答案 0 :(得分:13)

我发现了一个简单的方法。 通过启用“显示触摸高亮显示”属性的复选标记。 见截图..

enter image description here

它适用于我的自定义按钮。

答案 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];

或在界面构建器中:

This is the default image for the button This would be how you set your glowing icon

答案 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