首页 > 代码库 > 纯代码实现实现各种效果的圆角按钮。
纯代码实现实现各种效果的圆角按钮。
#import <UIKit/UIKit.h>@interface APRoundedButton : UIButton@property (nonatomic, assign) int style;@end
//// Created by Alberto Pasca on 27/02/14.// Copyright (c) 2014 albertopasca.it. All rights reserved.//#import "APRoundedButton.h"#import <QuartzCore/QuartzCore.h>@implementation APRoundedButton- (void)awakeFromNib{ [super awakeFromNib]; UIRectCorner corners; switch ( self.style ) { case 0: corners = UIRectCornerBottomLeft; break; case 1: corners = UIRectCornerBottomRight; break; case 2: corners = UIRectCornerTopLeft; break; case 3: corners = UIRectCornerTopRight; break; case 4: corners = UIRectCornerBottomLeft | UIRectCornerBottomRight; break; case 5: corners = UIRectCornerTopLeft | UIRectCornerTopRight; break; case 6: corners = UIRectCornerBottomLeft | UIRectCornerTopLeft; break; case 7: corners = UIRectCornerBottomRight | UIRectCornerTopRight; break; case 8: corners = UIRectCornerBottomRight | UIRectCornerTopRight | UIRectCornerTopLeft; break; case 9: corners = UIRectCornerBottomRight | UIRectCornerTopRight | UIRectCornerBottomLeft; break; default: corners = UIRectCornerAllCorners; break; } UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corners cornerRadii:CGSizeMake(20.0, 30.0)]; CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.frame = self.bounds; maskLayer.path = maskPath.CGPath; self.layer.mask = maskLayer;}@end
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。