首页 > 代码库 > iOS 画图基础
iOS 画图基础
基础要点:
1,画图不可以在 ViewController 里,而是应该在一个 UIView 的子类中,比如新建一个 DrawView 继承自 UIView。
2,覆盖 UIView 的 drawRect 方法,使得它画符合需要的图。
#import <UIKit/UIKit.h>@interface DrawView : UIView@end/*****************************/#import "DrawView.h"@implementation DrawViewstatic int height = 0;- (void)drawRect:(CGRect)rect{ NSLog(@"drawRect"); height = height + 10; CGRect bounds = [self bounds]; [[UIColor yellowColor] set]; UIRectFill(bounds); CGRect square = CGRectMake(50, 50, 100, height); [[UIColor greenColor] set]; UIRectFill(square); [[UIColor blackColor] set]; UIRectFrame(square);}@end
3,画图时通过对 DrawView 的一个对象调用 ([view setNeedsDisplay];)来自动调用 drawRect 来画图。View 需要是一个 DrawView 对象。
- (IBAction)drawView:(id)sender{ NSLog(@"drawView"); [view setNeedsDisplay];}
4,注意,一下几种情况 drawRect 不被调用:
(1)当view的frame的size为(0,0)的时候,系统是不会执行drawrect方法的。
(2)当这个view没有superview的情况(view 为最外层的 UIView),依然不会执行drawrect
补充说明:当view.hidden=YES或者view.frame超出边界的情况依然会调用drawrect方法,由此可以看出不执行drawrect方法之就有这两种情况。
iOS 画图基础
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。