纯代码实现实现各种效果的圆角按钮。

#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

纯代码实现实现各种效果的圆角按钮。

时间: 2024-11-13 05:50:26

纯代码实现实现各种效果的圆角按钮。的相关文章

Android 纯代码添加点击效果

项目中很多的Button, 同时配置很多按钮切图,Selector是不是很烦, 使用下面这个类,就可以直接为Button增加点击效果. 不用多个图片,不用Selector. 用法:Button.setOnTouchListener(Effect_Click.getInstance()); 效果图:    源码: class Effect_Click implements OnTouchListener { private static Effect_Click Effect_Click; pub

iOS学习3_UI开发之纯代码/storyboard/xib

由于做android开发时间比较长,按照android的经验,一般开发界面都是使用xml来写布局文件的,很少会完全使用代码来写布局,最近刚学iOS,发现好多都是直接使用代码来写布局的.看视频学习刚好看到这个不错的小项目,因此做了一点小小的整理. 要实现的效果如下,点击加号添加一条,点击回收投标删除最下面一条,点击删除会删除当前的一条.点击头片会更改中间的文字.删除/添加会伴随动画. 1.使用纯代码来写布局 点击添加按钮 - (IBAction)add:(UIBarButtonItem *)sen

纯代码创建Button控件:

纯代码创建Button控件: // 创建按钮 UIButton *btn = [[UIButton alloc] init]; // 添加按钮 [self.view addSubview:btn]; // 设置frame btn.frame = CGRectMake(50, 50, 100, 100); // 设置背景图片 // 通过文件名加载图片(凡是PNG图片,都不用加拓展名) UIImage *normal = [UIImage imageName:@“btn_01”]; // 设置普通状

纯代码实现CSS圆角

我这里说的是纯代码,是指的不使用图片实现圆角,图片实现圆角,这里就不说了. 纯代码实现圆角主要有3种方法: 第一种:CSS3圆角 #chaomao{     border-radius:2px 2px 2px 2px; } 上面代码的意思是左上.右上.右下.右下分别2px的圆角 当然也可以简写:border-radius:2px 方向是从左上到左下逆时针 也可以分别指定 #chaomao{     border-top-left-radius:4px 2px;     border-top-ri

ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中

纯代码实现布局,对话框

对话框自定义:相对布局的java代码实现创建AlertDiaglogWindow window = dlg.getWindow()创建布局,代码为相对布局载入布局,载入相关空间,设置相关控件的位置代码如下 int bgImageViewID = 10;  int iconImageViewID = 11;  int textViewID = 12;  int buttonOkID = 13;  int buttonCancelID = 14;  int srcImageViewId = 15; 

搭建App主流框架_纯代码搭建(OC)

转载自:http://my.oschina.net/hejunbinlan/blog/529778?fromerr=EmSuX7PR 搭建主流框架界面 源码地址在文章末尾 达成效果 效果图 注:本文部分图标及效果图来自[IT江湖] https://github.com/itjhDev/itjh 导读 我们玩iPhone应用的时候,有没发现大部分的应用都是上图差不多的结构,下面的TabBar控制器可以切换子控制器,上面又有Navigation导航条 我们本文主要是讨论主体框架的搭建,数据暂时没有添

swift UI专项训练41 用纯代码的方式实现stepper的值传递

之前讲过通过storyboard的方式捕获控件的值,现在我们来试试通过纯代码的方式来实现同样的功能.首先定义一个stepper和一个label,用label来显示stepper的当前值. self.priceStepper = UIStepper(frame: CGRectMake(150, 120, 100, 20)) self.priceStepper.minimumValue = 100//最小值 self.priceStepper.maximumValue = 2000//最大值 sel

纯css实现照片墙3D效果

每张照片都有美丽的故事.美好的回忆.家居中的照片墙则帮你展现出这些承载着家庭重要记忆的照片,除了用画框装饰照片挂在墙上外,照片墙还可以演变为手绘照片墙.也经常在网上看到一些关于照片墙的特效案例,决定自己动手试试. v直接上代码 这篇博客呢就是演示一个照片墙的效果.所以废话不多说,直接上代码然后展示特效.有兴趣的道友可以自己练练手试试.也可以改动改动其中的属性多玩玩,自己测试的时候建议用美女的照片,绝对"乐在其中". 1.准备材料:  准备材料就是没什么材料,自己麻溜赶快的去:百度找几张