UIView的drawRect方法
来源:互联网 发布:房地产大数据 编辑:程序博客网 时间:2024/05/19 05:31
UIView的drawRect方法
自定义一个UIView类,代码如下:
MainView.h
- #import <UIKit/UIKit.h>
- @interface MainView : UIView {
- }
- @end
MainView.m
- #import "MainView.h"
- @implementation MainView
- - (id)initWithFrame:(CGRect)frame {
- self = [super initWithFrame:frame];
- if (self) {
- // Initialization code.
- }
- self.backgroundColor=[UIColor cyanColor];
- return self;
- }
- // Only override drawRect: if you perform custom drawing.
- // An empty implementation adversely affects performance during animation.
- - (void)drawRect:(CGRect)rect {
- // Drawing code.
- //获得处理的上下文
- CGContextRef context = UIGraphicsGetCurrentContext();
- //设置线条样式
- CGContextSetLineCap(context, kCGLineCapSquare);
- //设置线条粗细宽度
- CGContextSetLineWidth(context, 1.0);
- //设置颜色
- CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1.0);
- //开始一个起始路径
- CGContextBeginPath(context);
- //起始点设置为(0,0):注意这是上下文对应区域中的相对坐标,
- CGContextMoveToPoint(context, 0, 0);
- //设置下一个坐标点
- CGContextAddLineToPoint(context, 100, 100);
- //设置下一个坐标点
- CGContextAddLineToPoint(context, 0, 150);
- //设置下一个坐标点
- CGContextAddLineToPoint(context, 50, 180);
- //连接上面定义的坐标点
- CGContextStrokePath(context);
- }
- - (void)dealloc {
- [super dealloc];
- }
- @end
在Xcode中创建Application-Base项目:(这里项目名假设为 Test95)
Test95AppDelegate.h代码:
- #import <UIKit/UIKit.h>
- #import "MainView.h"
- @interface Test95AppDelegate : NSObject <UIApplicationDelegate> {
- UIWindow *window;
- MainView *mainView;
- }
- @property (nonatomic, retain) IBOutlet UIWindow *window;
- @end
Test95AppDelegate.m中的didFinishLaunchingWithOptions方法代码
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
- // Override point for customization after application launch.
- CGRect wholeWindow=CGRectMake(0, 20, 320, 320);
- mainView=[[MainView alloc]initWithFrame:wholeWindow];
- [self.window addSubview:mainView];
- [self.window makeKeyAndVisible];
- return YES;
- }
结果如下图:
- UIView的drawRect方法
- UIView的drawRect方法
- UIView的layoutSubviews和drawRect:方法
- UIView的layoutSubviews和drawRect方法
- 关于UIView drawRect方法
- UIView中的drawRect方法
- UIView的drawRect
- UIView的layoutSubviews和drawRect方法何时调用(转)
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- UIView的layoutSubviews和drawRect方法何时调用
- 在Navicat 中写MySQL存储过程的一个坑
- error C2440: “初始化”: 无法从“char *”转换为“int”
- lazyload 错误 :未定义的变量:checkbrowse
- tomcat配置说明
- Notes about Porting suspend-to-disk function to android
- UIView的drawRect方法
- poj 2299 Ultra-QuickSort (树状数组解法)
- 【386w.com】一键启动电脑应用程序不再是梦想
- java传集合到oracle的存储过程中
- 关于java List的一个问题解决 - the type list is not generic
- regex.h - 正则表达式
- File类的简单使用
- MYSQL常用操作命令
- scanf易错点解析