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

现在项目中有一个需求:

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

一、需求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

时间: 2024-08-25 07:02:01

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

android studio 菜鸟实战项目 之 点击事件以及动态添加

原始界面:               登陆失败:             登陆成功:              动态添加控件: 布局如下:(特别声明最后又一个空linearlayout,这是为了后面的动态添加事件) <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

android 自定义带按钮的Notification及点击事件和伸缩通知栏

1.自定义一个带按钮的Notification布局:layout_notification: 2.创建Notification: RemoteViews views = new RemoteViews(getPackageName(),R.layout.layout_nitification); //自定义的布局视图 //按钮点击事件: PendingIntent homeIntent = PengdingIntent.getBroadcast(this,1,new Intent("action

iOS 子视图响应父视图的点击事件

最近为了解决 点击子视图却依然会响应父试图的点击事件发现UITapGestureRecognizer上的一个代理方法: -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 如果返回no则不响应,因此我们可以根据isDescendantOfView:方法来判定一个视图是否在其父视图的视图层中.把我们不想让其响应的子视图拿出来判断一下,如果包含这个子

154在屏幕中绘图时设置透明度(扩展知识:为图片视图添加点击手势识别器,来实现点击事件操作)

一张图片,通过混合模式绘制后,能得到不同效果的图片. 这里的示例仅是测试效果:实际上可以通过不同程度的混合模式绘制,来得到符合需求的效果. 效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 @property (strong, nonatomic) UIImageView *imgVBlend; 5 @property (strong, nona

UIView点击事件。弹出视图,背景虚化。

@interface CountryViewController //背景 @property (strong, nonatomic) UIView *BackView; end //设置背景虚化 -(UIView *)BackView{ if (!_BackView) { _BackView = [[UIView alloc]initWithFrame:self.view.bounds]; //背景虚化 UIColor *myColor = [UIColor colorWithWhite:0.

Android 类似于ArcMenu(github上开源项目)的自定义多个按钮视图

最近的项目中有个比较好的开源的多个分享按钮的自定义视图,感觉比较好,所以就研究了下,写了下来.其实这个demo类似于github上开源项目ArcMenu开源项目,项目下载地址为:https://github.com/daCapricorn/ArcMenu. 实现效果图: 1.点击该按钮,五个按钮飞入屏幕: 2.点击五个按钮其中的一个后,改按钮放到直至消失,其余的按钮变小直至消失. 体验感还是挺好的. 再次点击五个按钮飞出屏幕. 好了,下面上源码吧.比较多,但都是些自定义的空间,看两遍就能看懂啦.

VC项目开发之单文档多视图实现-非分割窗口[转]

k_eckel:http://www.mscenter.edu.cn/blog/k_eckel 多视图是VC开发中经常要用到的技术之一,一般地实现单文档多视图有两种方式 1)通过视图分割的技术(使用CSplitterWnd实现),将窗口分割为多个部分,每个部分显示各自显示不同的视图,这种技术实现起来比较简单,并且相关的资料也很多. 2)通过一个文档关联多个视图,窗口显示整个视图. 第二种实现较第一种复杂,这里给出详细的实现方法. Step 1:使用VC 6.0新建一个Project,命名为:Mu

cocos2d-x项目101次相遇:3.0 的点击事件,CCTouchDelegate已经停用了

cocos2d-x 101次相遇 / 目录 1   安装和环境搭建 -xcode 2   Scenes , Director, Layers, Sprites3   建立图片菜单 4   在HelloWorld上--建立新场景 5   增加一个精灵sprite 5.1   缩小sprite并使之完整显示6   action ,移动sprite 7   3.0 的点击事件,CCTouchDelegate已经停用了8   使用触摸事件移动 精灵 cocos2d-x 3.0 不再使用 TouchDel

安卓权威编程指南-笔记 (第29章定制视图与触摸事件)

1.定制视图 Android自带众多优秀的标准视图与组件,但有时为追求独特的应用视觉效果,我们仍需创建定制视图. 定制视图分为两大类别: 简单视图: 简单视图内部也可以很复杂,之所以归为简单类别,是因为简单视图不包括子视图,而且简单视图几乎总是会执行定制绘制. 聚合视图:聚合视图由其他视图对象组成,聚合视图通常管理着子视图,但不负责执行定制绘制,图形绘制任务都委托给了各个子视图. 创建定制视图的所需的三大步骤: 选择超类.对于简单定制视图而言,View是个空白画布,因此它作为超类最常见,对于聚合