//使用协议 方便以后切换颜色配置文件、或者做主题配色之类乱七八糟产品经理最爱的功能

protocol V2EXColorProtocol{

var v2_backgroundColor: UIColor { get }

var v2_navigationBarTintColor: UIColor { get }

var v2_TopicListTitleColor : UIColor { get }

var v2_TopicListUserNameColor : UIColor { get }

var v2_TopicListDateColor : UIColor { get }

var v2_LinkColor : UIColor { get }

var v2_TextViewBackgroundColor: UIColor { get }

var v2_CellWhiteBackgroundColor : UIColor { get }

var v2_NodeBackgroundColor : UIColor { get }

var v2_SeparatorColor : UIColor { get }

var v2_LeftNodeBackgroundColor : UIColor { get }

var v2_LeftNodeBackgroundHighLightedColor : UIColor { get }

var v2_LeftNodeTintColor: UIColor { get }

/// 小红点背景颜色

var v2_NoticePointColor : UIColor { get }

var v2_ButtonBackgroundColor : UIColor { get }

}

class V2EXDefaultColor: NSObject,V2EXColorProtocol {

static let sharedInstance = V2EXDefaultColor()

fileprivate override init(){

super.init()

}

var v2_backgroundColor : UIColor{

get{

return colorWith255RGB(242, g: 243, b: 245);

}

}

var v2_navigationBarTintColor : UIColor{

get{

return colorWith255RGB(102, g: 102, b: 102);

}

}

var v2_TopicListTitleColor : UIColor{

get{

return colorWith255RGB(15, g: 15, b: 15);

}

}

var v2_TopicListUserNameColor : UIColor{

get{

return colorWith255RGB(53, g: 53, b: 53);

}

}

var v2_TopicListDateColor : UIColor{

get{

return colorWith255RGB(173, g: 173, b: 173);

}

}

var v2_LinkColor : UIColor {

get {

return colorWith255RGB(119, g: 128, b: 135)

}

}

var v2_TextViewBackgroundColor :UIColor {

get {

return colorWith255RGB(255, g: 255, b: 255)

}

}

var v2_CellWhiteBackgroundColor :UIColor {

get {

return colorWith255RGB(255, g: 255, b: 255)

}

}

var v2_NodeBackgroundColor : UIColor {

get {

return colorWith255RGB(242, g: 242, b: 242)

}

}

var v2_SeparatorColor : UIColor {

get {

return colorWith255RGB(190, g: 190, b: 190)

}

}

var v2_LeftNodeBackgroundColor : UIColor {

get {

return colorWith255RGBA(255, g: 255, b: 255, a: 76)

}

}

var v2_LeftNodeBackgroundHighLightedColor : UIColor {

get {

return colorWith255RGBA(255, g: 255, b: 255, a: 56)

}

}

var v2_LeftNodeTintColor : UIColor {

get {

return colorWith255RGBA(0, g: 0, b: 0, a: 140)

}

}

var v2_NoticePointColor : UIColor {

get {

return colorWith255RGB(207, g: 70, b: 71)

}

}

var v2_ButtonBackgroundColor : UIColor {

get {

return colorWith255RGB(85, g: 172, b: 238)

}

}

}

/

import UIKit

extension UIImage {

func roundedCornerImageWithCornerRadius(_ cornerRadius:CGFloat) -> UIImage {

let w = self.size.width

let h = self.size.height

var targetCornerRadius = cornerRadius

if cornerRadius < 0 {

targetCornerRadius = 0

}

if cornerRadius > min(w, h) {

targetCornerRadius = min(w,h)

}

let p_w_picpathFrame = CGRect(x: 0, y: 0, width: w, height: h)

UIGraphicsBeginImageContextWithOptions(self.size, false, UIScreen.main.scale)

UIBezierPath(roundedRect: p_w_picpathFrame, cornerRadius: targetCornerRadius).addClip()

self.draw(in: p_w_picpathFrame)

let p_w_picpath = UIGraphicsGetImageFromCurrentImageContext()

UIGraphicsEndImageContext()

return p_w_picpath!

}

}

使用的地方

/// 节点信息label的圆角背景图

fileprivate static var nodeBackgroundImage_Default =

createImageWithColor( V2EXDefaultColor.sharedInstance.v2_NodeBackgroundColor ,size: CGSize(width: 10, height: 20))

.roundedCornerImageWithCornerRadius(2)

.stretchableImage(withLeftCapWidth: 3, topCapHeight: 3)

转载于:https://blog.51cto.com/9507270/1920733

swift:使用协议protocol设置颜色,UIImage的切圆角ImageWithCornerRadius相关推荐

  1. swift开发之--Protocol(协议)

    使用object-c语言的同学们肯定对协议都不陌生,但在swift中苹果将protocol这种语法发扬的更加深入和彻底. Swift中的protocol不仅能定义方法还能定义属性,配合extensio ...

  2. swift 用协议实现代理传值功能

    2019独角兽企业重金招聘Python工程师标准>>> swift 用协议实现代理传值功能 原文  http://blog.csdn.net/whzhaochao/article/d ...

  3. 协议(Protocol)与委托代理(Delegate)

    协议(Protocol)的作用: 1. 规范接口,用来定义一套公用的接口: 2. 约束或筛选对象. 代理(Delegate): 它本身是一种设计模式,委托一个对象<遵守协议>去做某件事情, ...

  4. Swift 面向协议编程 基础篇 (一) 介绍

    前言 好久没有写文章了,期末复习周也到了.在复习的同时顺便开了一个专题,面向协议编程,[ 基础篇 ],[ 进阶篇 ],[ 实践篇 ]. 介绍 首先,面向对象(OOP)大家并不陌生,苹果的很多框架都是以 ...

  5. Swift开发 UIColor分类Hex颜色转换

    一般UI同事们给的颜色值都是16进制的,但是在iOS的UIColor中,没有直接通过Hex值进行设置颜色的接口,所以自己编写了一个接口. func colorWithHexString (hex:St ...

  6. Objective-C 入门(七)协议 protocol(JAVA中的接口)

    Objective-C 入门(七)协议 protocol(JAVA中的接口) 接口的作用想必大家都比较了解 OV中的 protocol 相比接口作用相似 语法稍有不同 1.先来看声明一个协议 在创建文 ...

  7. android textview改变部分文字的颜色和string.xml中文字的替换及部分内容设置颜色、字体、超链接、图片...

    一:TextView组件改变部分文字的颜色: 1.TextView textView = (TextView)findViewById(R.id.textview); 2. 3.//方法一: 4.te ...

  8. iOS进阶之协议Protocol(13)

    协议Protocol 协议Protocol 转载:https://www.jianshu.com/p/5178630d0fd1

  9. storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

    纯代码设置Button或者其他View的边框属性 例: UIView* view = [[UIView alloc]init]; view.layer.borderWidth = 2.0; view. ...

最新文章

  1. ABAP git客户端
  2. android listview remove 动画,给Android ListView添加删除item动画
  3. [算法]不使用*、/、+、-、%操作符求一个数的1/3
  4. 电脑音频服务未运行怎么解决_电脑提示音频服务未运行怎么办,快来看看吧,图片描述(最多50字)...
  5. linux下时间编程,Linux下的时间操作编程
  6. 图表(Chart Graph)你真的用对了吗?
  7. docker入门与实战pdf_Docker-Kubernetes-k8s微服务实战视频教程+Docker技术入门精讲课程资料分享...
  8. [UnityShader3]去色效果
  9. mcgs组态软件中字体如果从左到右变化_MCGS全中文组态软件常见问题
  10. 测试用例设计方法-场景法详解
  11. 51单片机定时器与流水灯
  12. thoughtworks作业trains
  13. 后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data
  14. DVWA Contradiction #01
  15. 米兔机器人 自由模式_成人床下也可以有玩具:MI 小米 米兔积木机器人 开箱体验...
  16. 迅为RK3399开发板Linux系统TFTP传输文件服务器测试
  17. 前端面试谈:简历通用注意事项
  18. 前端网页配色网站推荐
  19. 爬取百度地图 商店铺联系电话地址定位
  20. license.lic

热门文章

  1. 美国再出半导体新法案!1800亿谋求芯片制造振兴
  2. 混合云关键技术能力和发展趋势
  3. DARPA 2020财年研发预算 人工智能应用研究投资急剧增长
  4. 机器人流程自动化崛起,中国是否准备好迎接智能自动化时代?
  5. 员工未回复群消息被罚200元,企业:符合公司规章制度
  6. Linux -- cal/bc/LANGE与帮助文档
  7. 后端常用开源组件合集(持续更新中)
  8. 富士康裁员六万,试图用机器人扭转赤字?
  9. 那些好用的小工具——Total Commander
  10. 线程间操作无效: 从不是创建控件的线程访问它