首页 > 代码库 > iOS中创建数组的简易方法与手势的使用

iOS中创建数组的简易方法与手势的使用


其实做外包也是挺不错,虽然累点,但是一天天的知识的扩展不少,下面是今天的收获

①初始化数组一字典的方法


@[] 初始化不可变数组

@{} 初始化不可变字典

②手势的使用

iOS中处理手势之前是用四个方法:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
  - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
  - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
  - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

这四个方法是写在底层UIResponder里,但是这种方式甄别不同的手势操作实在是麻烦
苹果就给出了一个比较简便的方式--手势
  • UITapGestureRecognizer  //点击(可以设置点击次数)

  • UIPinchGestureRecognizer //二指往內或往外拨动,平时经常用到的缩放

  • UIRotationGestureRecognizer //旋转

  • UISwipeGestureRecognizer //滑动,快速移动

  • UIPanGestureRecognizer  //拖移,慢速移动

  • UILongPressGestureRecognizer  //长按

  • 使用:

  1. 创建手势实例。当创建手势时,指定一个回调方法,当手势开始,改变、或结束时,回调方法被调用。
  2. 添加到需要识别的View中。每个手势只对应一个View,当屏幕触摸在View的边界内时,如果手势和预定的一样,那就会回调方法。
参考:http://blog.csdn.net/totogo2010/article/details/8615940

下面说下我碰到的问题,我在uiscrollview上添加了很多个imageview,在imageview上添加了手势,能执行手势的方法,但是不会执行touches四个方法,查了很多资料结果解决了,具体:
因为scrollview是加在了self.view上,touches方法只能收到self.view上的触摸方法,不能监测到scrollview的方法,scrollview已经对touches四个方法重写了(滑动手势触摸),解决这个问题需要自己重写scrollview里的touches方法


iOS中创建数组的简易方法与手势的使用