“`”

<ul>
<li>当用户用一根手指触摸屏幕时,会创建一个与手指相关联的UITouch对象 一根手指对应一个UITouch对象
</li>
<li>UITouch的作用:
<ul>
<li>保存着跟手指相关的信息,比如触摸的位置、时间、阶段</li>
<li>当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指在的触摸位置</li>
<li>当手指离开屏幕时,系统会销毁相应的UITouch对象</li>
</ul>
</li>
<li>UITouch的常见属性
 
<pre><code class=""language-objc"" lang=""objc"">//触摸产生时所处的窗口
@property(nonatomic,readonly,retain) UIWindow *window;

//触摸产生时所处的视图
@property(nonatomic,readonly,retain) UIView *view;

//短时间内点按屏幕的次数,可以根据tapCount判断单击、双击或更多的点击
@property(nonatomic,readonly) NSUInteger tapCount;

//记录了触摸事件产生或变化时的时间,单位是秒
@property(nonatomic,readonly) NSTimeInterval timestamp;

//当前触摸事件所处的状态
@property(nonatomic,readonly) UITouchPhase phase;
</code></pre>
</li>
<li>UITouch的常见方法
</li>
</ul>

 

<pre><code class=""language-objc"" lang=""objc""> //返回值表示触摸在view上的位置
//这里返回的位置是针对view的坐标系的(以view的左上角为原点(0, 0))
//调用时传入的view参数为nil的话,返回的是触摸点在UIWindow的位置
– (CGPoint)locationInView:(UIView *)view;
// 该方法记录了前一个触摸点的位置
– (CGPoint)previousLocationInView:(UIView *)view;
</code></pre>

<pre><code> "“`

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.