iPhone重绘机制

iPhone重绘机制
今天来讲解一下iPhone的重绘机制,iPhone重绘机制给人的最大的感觉是,奇怪!!!
下面我们来讲解一下如何使用iPhone进行绘图、重绘操作。
iPhone的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。

下面先说明一下绘图,比如,你想绘制一个方块,你需要写一个类来扩展UIView并在drawRect方法中填入如下代码:

Code block   
- (void)drawRect:(CGRect)rect {
    // Drawing code
	CGContextRef context=UIGraphicsGetCurrentContext();
	CGContextSetLineWidth(context, width);
	CGContextSetStrokeColorWithColor(context, [[UIColor redColor] CGColor]);
	CGContextStrokeRect(context, CGRectMake(110.0, 110.0, 100.0, 100.0));
	CGContextStrokePath(context);
}

 

则效果如下:

再说明一下重绘,重绘操作仍然在drawRect方法中完成,但是苹果不建议直接调用drawRect方法,当然如果你强直直接调用此方法,当然是没有效果的。苹果要求我们调用UIView类中的setNeedsDisplay方法,则程序会自动调用drawRect方法进行重绘。如下图所示:

在上图中,点击“画圆”按钮则在屏幕上绘制一个圆,点击“画方”按钮则在屏幕上绘制一个方,拖动滑块可以调节连线的粗细。

 

源码下载:UseDrawApi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值