Xcode如何在按钮上制作圆形按钮?

时间:2014-08-04 08:41:59

标签: xcode button

我使用Xcode 5制作UIButton。我在故事板中创建了按钮,并将背景图像设置为具有透明度的圆形的.png。我为按钮设置了一个简单的动作,以显示在标签中按下的次数。

当我按下屏幕上的圆角时,它仍然会增加分数。因此按钮仍然保持其方形命中框,即使它有一个圆形图像作为其背景。我到处寻找一种制作圆形撞击箱的方法,但我找不到任何东西。这甚至可能吗?有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:-1)

按钮响应角落触摸,因为无论您为背景设置什么图像,按钮的边界框都是矩形。

要实现圆形UIButton,只需使用以下代码即可创建一个圆形边界框:

- (UIView *)setRoundedView:(UIView *)roundedView toDiameter:(float)newSize {
CGPoint saveCenter = roundedView.center;
CGRect newFrame = CGRectMake(roundedView.frame.origin.x, roundedView.frame.origin.y, newSize, newSize);
roundedView.frame = newFrame;
roundedView.layer.cornerRadius = newSize / 2.0;
roundedView.center = saveCenter;
roundedView.layer.masksToBounds = YES;
return roundedView;
}

在这个方法中,你可以在你的UIButton案例中传递UIView的任何UIView或子类。所以在代码中你必须创建一个你按钮的IBOutlet,在你的-viewDidLoad方法中只需要这行代码:

self.btnMyButton = (UIButton *)[self setRoundedView:self.profilePic toDiameter:34]; 

假设您的UIButton插座是btnMyButton并根据您的要求设置直径。

希望这有帮助。

不要忘记导入QuartzCore Framework。