zoukankan      html  css  js  c++  java
  • 纯代码实现实现各种效果的圆角按钮。

    #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
  • 相关阅读:
    结对编程项目作业3
    团队编程项目作业1-成员简介及分工
    团队编程项目作业1-需求分析
    结对编程项目作业1
    20171123-构建之法:现代软件工程-阅读笔记
    课后作业-阅读任务-阅读提问-4
    软件工程课程总结
    结对编程项目五子棋-结对项目总结
    课后作业-阅读任务-阅读笔记-1
    结对编程项目作业3
  • 原文地址:https://www.cnblogs.com/yunis/p/3909521.html
Copyright © 2011-2022 走看看