+ (APCCustomBackButton *)customBackButtonWithTarget:(id)aTarget action:(SEL)anAction tintColor:(UIColor *)aTintColor

{

APCCustomBackButton  *button = [APCCustomBackButton buttonWithType:UIButtonTypeCustom];

CGRect  frame = CGRectMake(0.0, 0.0, kButtonWidth, kButtonHeight);

button.frame = frame;

[button addTarget:aTarget action:anAction forControlEvents:UIControlEventTouchUpInside];

CGMutablePathRef  path = CGPathCreateMutable();

CGPoint  p0 = CGPointMake(13.0, 12.0);

CGPathMoveToPoint(path, NULL, p0.x, p0.y);

CGPoint  p1 = CGPointMake(2.0, 22.0);

CGPathAddLineToPoint(path, NULL, p1.x, p1.y);

CGPoint  p2 = CGPointMake(13.0, 32.0);

CGPathAddLineToPoint(path, NULL, p2.x, p2.y);

CALayer  *layer = button.layer;

CAShapeLayer  *shaper = [[CAShapeLayer alloc] init];

shaper.frame = CGRectMake(0.0, 0.0, kLayerWidth, kLayerHeight);

shaper.bounds = CGRectMake(0.0, 0.0, kLayerWidth, kLayerHeight);

shaper.path = path;

shaper.lineWidth = kArrowLineWeight;

shaper.fillColor = [[UIColor clearColor] CGColor];

shaper.contentsScale = [[UIScreen mainScreen] scale];

shaper.strokeColor = aTintColor.CGColor;

[layer addSublayer:shaper];

CGPathRelease(path);

return  button;

}

IOSButton自定义的更多相关文章

  1. 关于Unity3D自定义编辑器的学习

    被人物编辑器折腾了一个月,最终还是交了点成品上去(还要很多优化都还么做).  刚接手这项工作时觉得没概念,没想法,不知道.后来就去看<<Unity5.X从入门到精通>>中有关于 ...

  2. 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表

    1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...

  3. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome

    今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...

  4. ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单

    前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...

  5. ASP.NET Aries 入门开发教程5:自定义列表页工具栏区

    前言: 抓紧时间,继续写教程,因为发现用户期待的内容,都在业务处理那一块. 不得不继续勤劳了. 这节主要介绍工具栏区的玩法. 工具栏的默认介绍: 工具栏默认包括5个按钮,根据不同的权限决定显示: 添加 ...

  6. UWP中实现自定义标题栏

    UWP中实现自定义标题栏 0x00 起因 在UWP开发中,有时候我们希望实现自定义标题栏,例如在标题栏中加入搜索框.按钮之类的控件.搜了下资料居然在一个日文网站找到了一篇介绍这个主题的文章: http ...

  7. JavaScript 自定义对象

    在Js中,除了Array.Date.Number等内置对象外,开发者可以通过Js代码创建自己的对象. 目录 1. 对象特性:描述对象的特性 2. 创建对象方式:对象直接量.new 构造函数.Objec ...

  8. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  9. 自定义Inspector检视面板

    Unity中的Inspector面板可以显示的属性包括以下两类:(1)C#以及Unity提供的基础类型:(2)自定义类型,并使用[System.Serializable]关键字序列化,比如: [Sys ...

随机推荐

  1. ZOJ3201(树形DP)

    Tree of Tree Time Limit: 1 Second      Memory Limit: 32768 KB You're given a tree with weights of ea ...

  2. Ubuntu无法访问Windows磁盘, 且无提示信息

    现象描述, 双系统Ubuntu和Windows, 进入Ubuntu后无法访问Windows盘内容, 且图标闪烁无任何错误信息提示. 1.安装ntfsfix sudo apt-get install n ...

  3. World is Exploding

    题意: 给出一个长为n的序列A,问有多少四元组(a, b, c, d)满足$a \ne b \ne c \ne d, 1 \leq a < b \leq n, 1 \leq c < d \ ...

  4. Servlet中init-param与context-param的区别

    web.xml文件中Servlet中配置如下: <servlet> <servlet-name>loginServlet</servlet-name> <se ...

  5. 3-2带命令行参数的Java

    命令行参数: 主方法Main 小括号里面的内容就是命令参数: String[] args class ArgsDemo{ public static void main(String[] args){ ...

  6. SPOJ130 【DP·背包选取特性】

    题意: 给你n个任务,每个任务有一个起始时间,持续时间,一个权值: 问你怎么分配得到最大值 思路: 数据好大..百度了一发意识到自己好菜啊!背包的特性. dp[i]代表前 i 个能构成的最大值. 对于 ...

  7. Telnet 命令格式

    Telnet host 端口 如:Telnet 127.0.0.1 11211 执行命令进入后 ctr +] ,打开回显,并回车即可

  8. 2014-5-24 NOIP模拟赛

    Problem 1 护花(flower.cpp/c/pas) [题目描述] 约翰留下他的N(N<=100000)只奶牛上山采木.他离开的时候,她们像往常一样悠闲地在草场里吃草.可是,当他回来的时 ...

  9. [Xcode 实际操作]九、实用进阶-(6)在Swift文件中调用Object-C的类和方法

    目录:[Swift]Xcode实际操作 本文将演示在Swift文件中调用Object-C的类和方法. 在项目文件夹[DemoApp]上点击鼠标右键 ->[New File]创建一个Object- ...

  10. 【Linux】Devops的一些运维工具

    一.Devops简介 从手工编译.上传服务器文件.执行命令.启动停止服务器.发现BUG再重复一遍流程,软件开发的重复劳动越来越多,在Devops概念之前,全部要靠人工手动完成,也看到了很多运维人员半夜 ...