自定义控件 @IBDesignable @IBInspectable
来源:互联网 发布:超市软件安装视频 编辑:程序博客网 时间:2024/06/05 01:10
//// MyView.swift// Draw//// Created by Johnson on 15/10/2.// Copyright (c) 2015年 apple. All rights reserved.//import UIKit@IBDesignable class MyView: UIView { @IBInspectable var myNewPro:String = "" @IBInspectable var borderWidth:CGFloat = 0 { didSet{ layer.borderWidth = borderWidth } } @IBInspectable var borderColor:UIColor = UIColor.clearColor(){ didSet{ layer.borderColor = borderColor.CGColor } } @IBInspectable var cornerRadius:CGFloat = 0{ didSet{ layer.cornerRadius = cornerRadius } } //为了storyboard可以使用 required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder)! } override init(frame: CGRect) { super.init(frame: frame) } /* // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. override func drawRect(rect: CGRect) { // Drawing code } */}
1.@IBDesignable加在类上表示这个类是一个可以被设计的类
2.@IBInspectable加在字段上,表示这个字段可以在XCODE的属性检查面板上设置.
3.didSet是一个值监听器,表示设置了值之后的操作
4.继承了UIView之后,对界面的操作和设置主要是layer属性来控制的,可以在标识检查面板上设置默认UIView的承载类是MyView.
5.被注释的drawRect方法是UIView的重写方法,参数是UIView的边界矩形.可以通过 let ctx = UIGraphicsGetCurrentContext(),获得画布上下文.
CGContextXXXX系列的方法结合上下文来画图.
6.在设置值后,调用 self.setNeedsDisplay()方法会重新调用drawRect方法,可以不断的控制自定义的UI.
0 0
- 自定义控件 @IBDesignable @IBInspectable
- iOS自定义控件(@IBDesignable与@IBInspectable)
- IBInspectable / IBDesignable
- IBInspectable / IBDesignable
- IBInspectable / IBDesignable
- IBInspectable / IBDesignable
- IBInspectable / IBDesignable
- IBInspectable / IBDesignable
- IBInspectable / IBDesignable
- iOS-IBDesignable/IBInspectable动态改变控件属性
- @IBDesignable和@IBInspectable
- @IBDesignable和@IBInspectable
- IBOutLet/IBAction/IBDesignable/IBInspectable
- [IOS 开发] @IBDesignable @IBInspectable
- IBInspectable和IBDesignable
- Objective-C(Swift) IBDesignable/IBInspectable
- IBInspectable / IBDesignable的使用方法详解
- IBInspectable / IBDesignable (只能用于Swift?)
- 工作备忘-制作Framework所用shell脚本代码
- 前端开发中的性能那点事(三)php的opcode缓存
- 中断服务函数能不能带形参和返回值?
- 总结Oracle,sqlserver,mysql中查询10-20条记录的写法
- linux DNS服务器配置
- 自定义控件 @IBDesignable @IBInspectable
- 线程重用——线程池的基本原理
- 一些小功能的累积
- Hibernate Merge (Illegal attempt to associate a collection with two open sessions)
- leetcode Binary Tree Zigzag Level Order Traversal
- IntelliJ Idea 常用快捷键列表
- 使用AsyncHttpClient碰到的问题及解决方法
- CodeForces 589G Hiring(树状数组)
- mysql事务回滚的问题