网上的常见的画虚线方法~
来源:互联网 发布:java免费书籍下载txt 编辑:程序博客网 时间:2024/04/30 16:48
CAShapeLayer *shapeLayer = [CAShapeLayerlayer];
[shapeLayer setBounds:self.firstView.frame];
[shapeLayer setPosition:self.firstView.center];
[shapeLayer setFillColor:[UIColorclearColor].CGColor];
// 设置虚线颜色为blackColor
[shapeLayer setStrokeColor:[kRTColorWithHEX(0xd9d9d7,1) CGColor]];
// 3.0f设置虚线的宽度
[shapeLayer setLineJoin:kCALineJoinRound];
[shapeLayer setLineWidth:1.f];
// 3=线的宽度 1=每条线的间距
[shapeLayer setLineDashPattern:[NSArrayarrayWithObjects:[NSNumbernumberWithInt:4],
[NSNumbernumberWithInt:3],nil]];
CGMutablePathRef path =CGPathCreateMutable();
CGPathMoveToPoint(path,NULL, 10,44*i);
CGPathAddLineToPoint(path,NULL, self.firstView.frame.size.width-11,44*i);
[shapeLayer setPath:path];
CGPathRelease(path);
[self.firstView.layeraddSublayer:shapeLayer];
技巧,如果在viewDidLoad里调用这段代码,会导致self.firstView.frame或者self.firstView.bounds里获取错误,所以放在viewDidappear里调用,但是界面切换的效果,会变成didAppear后突然出现虚线,这种效果不好.所以最后放倒了viewWillAppear里面调用,但是self.firstView.bounds获取值依然不正确,最后只能调用gcd在dispatch_get_main让该方法在界面布局完成后调用。这样self.firstView.bounds和self.firstView.frame的值就是正确的了。 如果重写需要画虚线的view 然后把方法放在dractRect 或者 awakenib里面不知道在viewDidLoad或viewWillAppear里面会怎么样~~
- 网上的常见的画虚线方法~
- flex画虚线的方法
- ios画虚线的方法
- PS画虚线的几种方法
- iOS 画虚线的两种方法
- 几何画板画虚线的方法
- VC中画虚线矩形的方法
- VC中画虚线矩形的方法
- 一些网站常见的虚线和边框
- Android实现虚线的方法
- 还是网上常见的智力题
- iOS中画虚线的方法【项目中可能会用到】
- 去掉flash四周虚线框的方法
- mac 下绘制虚线的方法
- html中加入虚线的方法
- jQuery实现流动虚线框的方法
- 解决SplitContainer控件残留虚线的方法
- iOS简单实现虚线的小方法
- PID,UID,sharedUserId以及Android开启多进程模式
- Cordova 6.1 + ionic 安装和配置
- 前端资料小备份
- CI框架切换语言包
- RDD中的转换和action(二)PairRDD操作
- 网上的常见的画虚线方法~
- 分类器性能评估之Lift和Gain(3)
- 第一次用Editplus写程序
- SQLiteDatabase类:数据库对象
- volatile 变量作用
- 小菜鸟开发工作滴滴总结
- POJ 2752 Seek the Name, Seek the Fame
- x86中断编程
- 【Linux学习笔记七】Linux编程-Vim编辑器