2014.12.15 ——— ios开发之hitTest pointInside
参考:
http://blog.csdn.net/bravegogo/article/details/19936689
两个方法的意思 可以参考上面这边文章
我用到的场景主要是:
UITableView 每一个cell 右划出现删除,点击其他地方取消删除按钮
思路:
捕获右划,建立一个UITableView的子view,大小与其一样,并且这个子view 重写hitTest方法,来判断是否点击了删除按钮
代码:
#import <UIKit/UIKit.h>
@interface MyView : UIView
{
}
@property(nonatomic, assign) UIView *ignoreView;
- (id)initWithParentView:(UIView *)parent ignoreView:(UIView *)ignoreView;
#import "MyView.h"
@implementaion MyView
- (id)initWithParentView:(UIView *)parent ignoreView:(UIView *)ignoreView{
self = [[MyView alloc] init];
if(self){
self.frame = parent.frame;
self.backgroundColor = [UIColor clearColor];
[parent addSubView:self];
_ignoreView = ignoreView;
self.userInteractionEnabled = YES;
}
return self;
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
UIView *result = [super hitTest:point withEvent:event];
CGPoint buttonPoint = [_ignoreView convertPoint:point fromView:self];
if([_ignoreView pointInside:buttonPoint withEvent:event]){
return _ignoreView;
}
return result;
}
这样之后 当点击到删除按钮了,虽然删除按钮其实没有捕获到 但是通过hitTest指向了删除按钮,就可以再删除按钮的代理方法来处理逻辑了
分享到:
相关推荐
总之,理解和掌握`hitTest:withEvent:`和`pointInside:withEvent:`的使用,是iOS开发中提升用户体验和优化交互设计的重要一环。合理运用这两个方法,可以为应用程序增添更多的交互可能性,提高用户的操作满意度。
本资源“IOS源码——IOS可扩展底部TablBar.7z”提供了一个名为“brendandixon-ExpandableTabBar-27ac638”的开源项目,旨在实现一个可扩展的TabBar,这将帮助开发者创建更丰富、更具交互性的用户界面。下面,我们将...
【iOS应用源码——iOS触摸事件例子全集.zip】是一个包含iOS开发中关于触摸事件处理的源码集合,主要适用于iOS平台,对于开发者来说,这是一个深入理解和实践iOS触摸事件处理的宝贵资源。在这个压缩包中,我们可以...
【iOS实例开发源码——JMWhenTapped for iOS】是一个针对iOS平台的开源项目,它提供了用户界面元素(如按钮或视图)被点击时触发特定事件的功能。这个项目可以帮助开发者更好地理解和实践iOS应用中的触摸事件处理,...
总之,理解并熟练运用hitTest和pointInside方法对于提升iOS应用的用户体验至关重要。它们帮助我们构建更加智能和响应式的用户界面,确保每个触摸都能得到正确的响应。通过深入研究WDHitTestDemo-master项目,开发者...
在iOS开发中,UIViews是构建用户界面的基本元素,它们不仅负责显示内容,还处理用户的交互事件。当用户触摸屏幕时,系统会沿着响应者链(Responder Chain)寻找能够处理这些事件的对象。在这个过程中,`hitTest:...
"IOS应用源码——小球.rar" 提供的可能是一个简单的iOS应用示例,专注于一个小球的游戏或者动画效果。这个源码可能包含了一个或多个Objective-C或Swift文件,用于实现小球的移动、碰撞检测以及用户交互等功能。 ...
在iOS开发中,触摸事件处理是用户界面交互的基础。当用户与屏幕上的元素交互时,系统会触发一系列的触摸事件,让开发者能够响应用户的操作。本文将深入探讨`hitTest`方法及其在处理不规则区域内触摸事件中的应用,...
【iOS应用源码——TouchDemo】是一个用于学习和理解iOS应用程序开发中触摸事件处理的示例项目。这个压缩包包含了完整的源代码,可以帮助开发者深入理解苹果的UIKit框架,特别是关于用户交互的部分。在这个项目中,...
在iOS应用开发中,触摸事件的处理是一个关键部分,尤其是在创建用户交互界面时。`hitTest:withEvent:` 是一个重要的方法,用于确定哪个视图应该响应特定的触摸事件。这个方法在用户触摸屏幕时被系统自动调用,用于...
然而,这个“IOS应用源码——位于顶部的黑酷tab view视图demo”提供了一个独特的设计,将Tab Bar移到了屏幕的顶部,这种设计在某些应用中可以提供更佳的用户体验,特别是对于那些需要频繁在多个功能间切换且屏幕空间...
OC MAC平台 IOS开发APP 自主学习 OC MAC平台 IOS开发APP 自主学习是指在MAC平台上使用Objective-C语言开发IOS应用程序的自主学习过程。下面是相关知识点的详细解释: 一、事件传递和响应传递过程 在IOS开发中,...
在iOS开发中,TabBar是应用界面中常见的一种底部导航组件,它允许用户在多个视图之间进行切换。本文将详细解析"ios源码之当中凸起的TabBar样例RaisedCenterTabBar.rar"这个项目,帮助你理解如何在iOS应用中实现一个...
### 精彩编程与编程技巧-HitTest的妙用 #### 一、HitTest功能简介 在开发图形用户界面(GUI)应用时,我们经常需要处理用户输入,特别是鼠标事件,比如点击、移动等。其中`HitTest`方法是一个非常实用的功能,它...
if ( [self.centerButt pointInside:newP withEvent:event]) { return self.centerButt; }else{ return [super hitTest:point withEvent:event]; } }else { return [super hitTest:point withEvent:...
《iOS游戏应用源代码解析——基于wczekalski-CDPieMenu-5bb9688》 在iOS开发领域,源代码的学习是提升技能的关键。本篇将深入探讨一款名为wczekalski-CDPieMenu的游戏应用源代码,通过对这个项目的剖析,我们可以...
在iOS开发中,"ios-THTendencyDome.zip" 提供了一个独特的实现,它展示了如何创建一个具有倾斜图片效果的应用程序,并且用户可以点击图片的特定倾斜区域进行交互。这个项目是一个很好的学习资源,帮助开发者深入理解...
在iOS开发中,有时我们可能需要为用户界面中的不规则图形添加点击事件,例如一个复杂的形状或者自定义的图标。这种需求通常出现在我们希望用户能够交互的特定区域内,而这个区域不是一个标准的矩形或圆形。本文将...
在iOS开发中,触摸事件(Touch Events)是用户与设备交互的基础,它们是应用程序响应用户在屏幕上触摸或滑动的主要方式。"ios源码之触摸Demo.rar"中的内容很可能是关于如何实现iOS应用中触摸事件处理的示例代码。在...