码迷,mamicode.com
首页 > 其他好文 > 详细

【项目】视图点击事件的处理,视图之间消息传递

时间:2015-11-04 12:52:31      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:

现在项目中有一个需求:

技术分享

首先我从第二个需求开始解决:

一、需求2解决方案:

1.首先,我们了解到ViewOne是继承自UIView,超类是UIResponeder,所以就会有这些特性

根据其中touchesBegin方法:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

我们可以获得点击ViewOne上面的touch对象的CGPoint,然后使用CGRectContainsPoint方法来判断是否点击了属于ViewTwo范围内的CGPoint,根据BOOL值来进行不同处理事件。如下:(加粗的方法,如果不了解自己百度一下)

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    UITouch * touch = [touches anyObject];
    CGPoint current = [touch locationInView:self];
    
    if (CGRectContainsPoint(self.ViewTwo.frame, current))
    {
        NSLog(@"点击了ViewTwo卡片,马上进行消息传递处理,来解决需求1");
    }
    else
    {
     NSLog(@"现在remove自身视图,现在已经解决需求2了"); NSLog(
@"%@",NSStringFromCGPoint(current)); } }
// 附录,还有一个很好玩的方法,感兴趣的Google了解一下

  //- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event

 

【项目】视图点击事件的处理,视图之间消息传递

标签:

原文地址:http://www.cnblogs.com/R0SS/p/4935397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!