iOS画图 在控件中画图,并实现清理
来源:互联网 发布:mysql 日志回滚 编辑:程序博客网 时间:2024/05/10 23:37
//
// SCHView.m
// touchSCHEvent
//
// Created by tianshangrenjian on 15/6/29.
// Copyright (c) 2015年 tianshangrenjian. All rights reserved.
//
#import "SCHView.h"
@interface SCHView()
@property (strong ,nonatomic) NSMutableArray *points;
@end
@implementation SCHView
- (NSMutableArray*) points
{
if (_points==nil) {
_points=[[NSMutableArrayalloc] init];
}
return_points;
}
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
CGContextRef ctx=UIGraphicsGetCurrentContext();
for (int i=0; i<self.points.count; i++) {
CGPoint point=[self.points[i]CGPointValue];
if (i==0) {
CGContextMoveToPoint(ctx, point.x, point.y);
}
else
{
CGContextAddLineToPoint(ctx, point.x, point.y);
}
}
[[UIColorblueColor] set];
CGContextSetLineWidth(ctx,20);
CGContextSetLineJoin(ctx,kCGLineCapSquare);//设置线条拐角
CGContextSetLineCap(ctx,kCGLineCapRound);//设置连接线的样式
// CGContextMoveToPoint(ctx, 10, 10);
// CGContextAddLineToPoint(ctx, 80, 50);
CGContextStrokePath(ctx);
}
/*
鼠标在其上点击时触发的事件
*/
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch=[touches anyObject];
CGPoint p=[touch locationInView:touch.view];
[self.pointsaddObject:[NSValuevalueWithCGPoint:p]];//结构体转换为对象
NSLog(@"%zd",touches.count);
NSLog(@"鼠标在其上点击时触发的事件");
[selfsetNeedsDisplay];
}
/*
鼠标在其上移动时触发的事件
*/
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch=[touches anyObject];
CGPoint point=[touch previousLocationInView:touch.view];
[self.pointsaddObject:[NSValuevalueWithCGPoint:point]];
[selfsetNeedsDisplay];
// NSLog(@"鼠标在其上移动时触发的事件");
// UITouch *touch=[touches anyObject];
// CGPoint prevPoint=[touch previousLocationInView:touch.view];
// CGPoint currentPoint=[touch locationInView:touch.view];
//
// CGPoint centerPoint=touch.view.center;
//
// centerPoint.x+=currentPoint.x- prevPoint.x;
// centerPoint.y+=currentPoint.y- prevPoint.y;
//
// // touch.view.center=currentPoint;
//
// touch.view.center=centerPoint;
}
/*
鼠标在离开其上的时触发的事件
*/
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"鼠标在离开其上的时触发的事件");
UITouch *touch=[touches anyObject];
[self.pointsaddObject:[NSValuevalueWithCGPoint:[touch previousLocationInView:touch.view]]];
[selfsetNeedsDisplay];
}
- (void)addPoint:(NSSet *)touches
{
[selfaddPoint:touches];
}
- (void)clear
{
if (self.points.count==0) {
return;
}
[self.pointsremoveAllObjects];
self.points=nil;
[selfsetNeedsDisplay];
}
@end
- iOS画图 在控件中画图,并实现清理
- iOS画图 在控件中画图
- C#中在控件中画图并用TIMER控件进行控制方法的实现
- C语言实现信号打包成二进制文件并在Matlab中读取并画图(VS版)
- 在窗口中画图
- 在Static中画图
- 在自己实现的ios画图程序中如何实现橡皮擦功能
- dialog中在一个picture 控件中画图
- 在WEB程序中如何画图并显示
- 在WEB程序中如何画图并显示
- javascript接收二维数组并在echarts中画图
- MFC中,怎样在一个特定的控件里画图
- VS2010中MFC利用TeeChart控件实现画图
- IOS中画图方法列举
- IOS 画图
- ios 画图
- IOS画图
- ios-画图
- mongoVUE的增删改查操作使用说明;一、查询;1、精确查询;1)右键点击集合名,再左键点击Find;或者直接点击工具栏上的Find;2)查询界面,包括四个区域;{Find}区,查询条件格式{"se
- 字符串处理StringUtil
- 【编程经验】time(null)
- Linux里如何查找文件内容
- JAVA之JNDI初步理解
- iOS画图 在控件中画图,并实现清理
- (int&)a
- JavaScript 运行机制详解:再谈Event Loop
- MySQL自增长主键探究
- swift之UILabel
- C++ GUI Qt4学习笔记(一)
- x86中断架构
- Android中Socket通信之TCP与UDP传输原理
- Berkeley DB Java Edition (JE)