`
01jiangwei01
  • 浏览: 541683 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设置UIView自动刷新 触摸画图

    博客分类:
  • IOS
 
阅读更多

   

#import "MyView.h"

@implementation MyView
{
    CGContextRef context;//UIGraphicsGetCurrentContext();
    NSMutableArray *array ;
}
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
       
    }
    return self;
}

/**/
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
    [self drawTab];
}


-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    if(array == nil){
         array = [[NSMutableArray alloc]initWithCapacity:10];
    }
    
    UITouch *touch = [touches anyObject];
    CGPoint  point = [touch locationInView:self];
    
    [array addObject:[NSValue valueWithCGPoint:point]];
    
    
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    UITouch *touch = [touches anyObject];
    CGPoint  point = [touch locationInView:self];
    
    [array addObject:[NSValue valueWithCGPoint:point]];
    
    
   
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
     
    UITouch *touch = [touches anyObject];
    CGPoint  point = [touch locationInView:self];
    
    [array addObject:[NSValue valueWithCGPoint:point]];
     [self setNeedsDisplay];
    
}
-(void) drawTab {
    context = UIGraphicsGetCurrentContext();
 
    NSValue *value = nil;
    
    for(int i=0;i<array.count;i++){
        value = [array objectAtIndex:i];
        CGPoint point ;
        [value getValue:&point];
        
        if(i==0){
            CGContextBeginPath(context);
            CGContextMoveToPoint(context,point.x ,point.y);
            
        }else if(i == array.count-1){
        
            CGContextAddLineToPoint(context, point.x, point.y);
            CGContextDrawPath(context, kCGPathStroke);
        }else {
            CGContextAddLineToPoint(context, point.x, point.y);
        
        }
    }

}
@end

 

分享到:
评论

相关推荐

    ios-一句代码设置UIView及其子类的badgeValue.zip

    一句代码设置UIView及其子类的badgeValue,默认右上角显示 cocoaChina 上传代码比较麻烦,如果有什么问题或者添加什么功能,欢迎大家去我简书留言http://www.jianshu.com/p/497b33250ec1 喜欢的话可以关注我,...

    通用的上下拉刷新(ios)

    创建一个`UIRefreshControl`实例,设置其代理,并将其添加到`UIScrollView`中,就可以监听到下拉刷新的动作。 ```swift let refreshControl = UIRefreshControl() refreshControl.addTarget(self, action: #...

    UIView-Positioning, 在UIView对象中,基于简单属性的框架属性设置.zip

    UIView-Positioning, 在UIView对象中,基于简单属性的框架属性设置 uiview定位收费 UIView Positioning 是一个快速扩展,它提供简单的shorthand 方法,以方便的方式定义任何UIView对象的框架属性( 宽度,高度,x,y ...

    ios中关于uiview

    - 当标准视图无法满足需求时,开发者可以创建自定义视图,继承自`UIView`,并重写`draw(_ rect: CGRect)`方法来绘制自定义内容,还可以实现其他方法以处理触摸事件和其他交互。 理解并熟练掌握这些`UIView`的知识...

    ios-UIView设置局部阴影,左右上下,左右底部阴影.zip

    本文将深入探讨如何实现标题所指的"ios-UIView设置局部阴影,左右上下,左右底部阴影"这一功能,同时参考提供的资源链接进行讲解。 首先,让我们了解在iOS中设置阴影的基本步骤。在UIView的属性中,有两个关键的...

    UIView动画

    UIView 动画 UIView动画

    UIView AutoLayout.zip

    `UIView AutoLayout`是这个机制的一个扩展,为`UIView`类添加了分类,提供了更加简洁易用的接口来设置自动布局约束。这个压缩包"UIView AutoLayout.zip"包含的项目名为"UIView-AutoLayout-master",很可能是GitHub上...

    IOS设置UIView的边框为圆角详解及实例

    "IOS设置UIView的边框为圆角详解及实例" 本文主要介绍了IOS设置UIView的边框为圆角的相关知识点,通过使用QuartzCore库,实现UIView的边框设置为圆角,添加边框、背景图片等功能。 一、IOS设置UIView的边框为圆角...

    在当前视图下传递触摸事件给 UIView\UIButton

    作者sSegev,源码SSAlphaPass,SSAlphaPass 可在你当前的视图下传递触摸事件给 UIView\UIButton,但前提是你的像素 alpha 通道应该为0(像素是透明的)。这个方案比单纯忽视掉顶层视图要好,因为你仍然可以在 UIView...

    iOS实现UIView渐变效果

    接着,通过设置其frame属性,我们可以指定渐变层在UIView中的位置和大小。最后,将这个CAGradientLayer作为UIView的layer.contents,即可将渐变效果应用到UIView上。 对于描述中提到的“已封装好的实现渐变的UIView...

    UIView+RectCorner

    首先,`UIView+RectCorner.h`文件中会声明一些方法,这些方法用于设置`UIView`的各个角落的圆角半径。可能的方法包括: 1. `- (void)roundCorners:(UIRectCorner)corners radius:(CGFloat)radius;` 这个方法允许...

    uiview随手势旋转

    "uiview随手势旋转"这个主题,就是关于如何利用手势识别来实现UIView的旋转效果。 `KTOneFingerRotationGestureRecognizer`是一个自定义的手势识别类,它是对苹果内置的`UIGestureRecognizer`类的扩展。`...

    UIView 保存为图片

    例如,如果你希望生成的图片为2倍分辨率(适用于Retina屏幕),即使实际屏幕是3倍分辨率,你可以设置scale为2。 `UIGraphicsBeginImageContextWithOptions`函数接受三个参数:图像的尺寸,是否保留透明度(false...

    好程序员学习笔记--UI基础UIWindow、UIView.doc

    通常,每个应用程序只有一个主要的UIWindow实例,虽然理论上可以创建多个,但只有一个可以设置为key window,这个key window会接收并处理触摸事件。UIWindow的初始化通常在AppDelegate的`...

    UIView的生命周期

    开发者不应主动调用此方法,而应在视图控制器的view属性被请求且当前视图为空(即nil)时,由视图控制器自动调用。如果开发者需要手动创建视图,那么应当重写这个方法,但是重写时不要调用父类的[super loadView],...

    UIView镂空

    创建好遮罩路径后,将其赋值给`CAShapeLayer`的`path`属性,并将这个遮罩层设置为`UIView`的`layer.mask`,这样遮罩的形状就会决定`UIView`的显示范围。 5. **GCD多线程优化**: 由于图形操作可能会涉及大量的...

    UIView的介绍,OC版的

    3. **触摸事件处理**:`UIView`能响应用户的触摸事件,比如`touchesBegan:withEvent:`, `touchesMoved:withEvent:`, `touchesEnded:withEvent:`和`touchesCancelled:withEvent:`等方法。通过这些方法,开发者可以...

    绘制UIView

    在iOS开发中,`UIView` 是一个非常基础且重要的组件,它是所有视图类的基类,用于在屏幕上展示内容。本示例项目"绘制UIView"着重探讨如何自定义`UIView`,特别是如何通过代码来绘制一个具有特殊形状,如顶部为凹进...

    UIView分类

    UIView+Extension 对view的一个扩展

    ios-基于UIView扩展的类目,用于设置上下左右圆角.zip

    基于UIView扩展的类目,用于设置上下左右圆角,可设置单边圆角,也可设置为圆形 github地址:https://github.com/LQQZYY/UIViewCornerDemo 喜欢的话就给颗星支持一下,感谢!

Global site tag (gtag.js) - Google Analytics