按钮响应触摸角,因为无论您为背景设置什么图像,按钮的边界框都是一个矩形。
要实现圆形 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 框架。