CGContextRef
在调用drawRect:方法之前,视图对象会自动配置其描画环境,使代码可以立即进行描画。作为这些配置的一部分,UIView 对象会为当前绘制环境创建一个图形上下文,这个上下文就是CGContextRef
封装类型。
CGContextRef的对象是以栈的形式存放的,把对象放入栈中,使用CGContextSaveGState方法,将对象从栈中取出来,使用的是C...
分类:
其他好文 时间:
2015-05-25 11:38:46
阅读次数:
133
上一节中,我引用别人的文章,详细的讲解了Quartz 2D的基本概念。想了解的,请点击这里。这一节用几个小Demo,来说明Quartz 2D的绘图功能。
1. 我们先定义一个用来绘图的View(DrawView,它继承自UIView),并准备在下面的方法中实现绘图工作。
- (void)drawRect:(CGRect)rect;
2. 在主界面上面拖拽一个View,并且将...
分类:
其他好文 时间:
2015-05-24 10:13:55
阅读次数:
132
随着手指在屏幕上滑会实时显示一个红色框框,可以用来裁剪图片。新建一个UIView类继承于UIView,在里面进行绘图操作。在需要的UIViewController里实现代理方法即可。图片裁剪方法,以后会详细介绍,这里不做讲解。效果图和代码如下:
// MyView.h
// 头像编辑
// Created by Dong on 15/5/8.
//...
分类:
移动开发 时间:
2015-05-21 15:40:39
阅读次数:
231
今天跟旺才兄学习了一下UIView的setNeedsDisplay和setNeedsLayout方法。首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。而setNeedsL...
分类:
其他好文 时间:
2015-05-19 20:37:36
阅读次数:
148
[self setNeedsDisplay];//重新调drawRect- (void)drawRect:(CGRect)rect { //do sth}[self setNeedsLayout];//重新调layoutSubviews- (void)layoutSubviews{ [super l...
分类:
其他好文 时间:
2015-05-17 10:35:34
阅读次数:
131
重写drawRect方法准备:继承UIView的子类1. .h文件//// DashesLineView.h// inface//// Created by huangzengsong on 15/5/11.// Copyright (c) 2015年 huangzs. All rights res...
分类:
移动开发 时间:
2015-05-11 17:23:13
阅读次数:
145
//此方法目前只能添加在self视图上(如果有视图在self视图上,可能会遮盖线条),画的是虚线
//调用
[self drawRect:self.frame];
//覆写
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextBeginPath(...
分类:
移动开发 时间:
2015-05-07 14:40:33
阅读次数:
160
一看标题,就很屌丝!的确,系统不给咱们,那咱们就自己弄!具体步骤: 1,创建一个类,继承UITextView.取名ZHHTextView; 2,在drawRect:中实现placeholder,其中用到通知来监听text的change.大概的步骤就着两步,具体实现,看代码.现在将.m文件代码公布.....
分类:
移动开发 时间:
2015-05-05 18:48:29
阅读次数:
161
一、使用Quartz2D完成图片剪切1.把图片显示在自定义的view中先把图片绘制到view上。按照原始大小,把图片绘制到一个点上。代码:1 - (void)drawRect:(CGRect)rect2 {3 UIImage *image2=[UIImage imageNamed:@"me"...
分类:
移动开发 时间:
2015-05-03 18:52:38
阅读次数:
199
一、第一种方式1.简单说明以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的DrawRect:方法,然后在该方法中画图。绘制图形的步骤:(1)获取上下文(2)绘制图形(3)渲染图形如果在layer上画东西,与上面的过程类似。代码示例:新建一个...
分类:
移动开发 时间:
2015-05-03 18:50:49
阅读次数:
139