在高光上增加UIButton的触摸效果半径

时间:2013-01-23 14:20:29

标签: iphone ios ipad cocoa uibutton

启用Shows Touch on Highlight时,有没有办法增加UIButton的“发光效果”?在大多数情况下,它在iPhone上很好,但在iPad上太小了。如果不可能,任何想法如何实现所期望的行为?

修改

基本上,我正在寻找如何将UIButton子类化以添加此功能。

2 个答案:

答案 0 :(得分:2)

我会用这样的东西: 添加按钮按下的按钮目标。

[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];

这是按下按钮时调用的方法。您可以更改shadowRadius以满足您的需求。

- (void) buttonPressed:(id) sender
{
    UIButton *button = (UIButton *) sender;
    DDLogInfo(@"%@ Button Pressed...", button.titleLabel.text);
    UIColor *color = [UIColor whiteColor];
    button.layer.shadowColor = [color CGColor];
    button.layer.shadowRadius = 20.0f;
    button.layer.shadowOpacity = 0.9;
    button.layer.shadowOffset = CGSizeZero;
    button.layer.masksToBounds = NO;
    button.backgroundColor = [UIColor whiteColor];
}

答案 1 :(得分:-1)

您可以创建一个发光效果的图像,并在突出显示时将其添加到按钮。