美文网首页
iOS开发之UI(四)

iOS开发之UI(四)

作者: zero点点 | 来源:发表于2016-02-16 16:44 被阅读56次

    事件:当用户手指触击屏幕以及在屏幕上移动时,系统不断发送给应用程序的对象,一个UIEvent对象表示一个事件

    触摸:有事件控件两方面

    • 时间:手指放下,手指移动,手指抬起

    • 空间:手指放下,移动,抬起的位置

    • 触摸开始
      - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent: (UIEvent *)event { NSLog(@"开始触摸"); }

    • 手指移动
      - (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { UITouch *touch = [[touches allObjects] lastObject]; CGPoint point = [touch locationInView:self]; NSLog(@"x = %f, y = %f", point.x, point.y); }

    • 触摸结束
      - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { NSLog(@"触摸结束"); }

    响应者链:一个响应者对象的连接序列,事件或动作消息依次传递

    响应者:iOS中所有能响应事件的对象都是响应者,一同定义了一个抽象的父类UIResponder来表示响应者

    检查触摸:UIApplications -> window -> ViewController -> view -> 检查所有子视图
    处理事件:触摸的子视图 -> view -> ViewController -> window -> UIApplication

    视图类的属性userInteractionEnabled可以阻断响应者链
    userInteractionEnabled:用户界面响应开关

    手势识别器

    手势识别器:UIGestureRecognizer,用于识别手势

    手势:有规律的触摸

    系统提供的手势识别器这个抽象父类我们是不会直接使用,而是根据需求使用特定的子类手势,系统提供的手势类型:

    • 轻拍:UITapGestureRecognizer
    • 长按;UILongPressGestureRecognizer
    • 旋转:UIRotationGestureRecognizer
    • 捏合:UIPinchGestureRecognizer
    • 平移:UIPanGestureRecognizer
    • 轻扫:UISwipeGestureRecognizer
    • 屏幕边缘轻扫:UIScreenEdgePanGestureRecognizer

    创建方法

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap)];

    添加方法

    [self.imageView addGestureRecognizer:tap];

    其他类同理

    View的transform属性

    transform:能改变view的现实状态,实现view的缩放、旋转、平移

    • 平移:CGAffineTransformMakeTranslation
    • 缩放:CGAffineTransformMakeScale
    • 旋转;CGAffineTransformMakeRotation

    方法1,此方法只能改变一次imageView的transform,即第二次触发不生效

    self.imageView.transform = CGAffineTransformMakeRotation(1.0);

    方法2,此方法能多次触发,意为在当前的transform上再次进行更改

    self.imageView.transform = CGAffineTtansformRotation(self.imageView.transform,1.0);

    其他方法同理

    相关文章

      网友评论

          本文标题:iOS开发之UI(四)

          本文链接:https://www.haomeiwen.com/subject/stnpkttx.html