`
beike
  • 浏览: 362902 次
社区版块
存档分类
最新评论

UIScrollView touch

 
阅读更多

UIScrollView本身无法处理touch事件
要想实现,必须对UIScrollView上的subView做touch处理
原理十分简单,好比要响应scrollView上的UIImageView,那么请创建一个UIImageVIew的子类,由这个自定义的UIImageView来处理touch事件
头文件声明如下,供参考:
#import <Foundation/Foundation.h>

@protocol ImageTouchDelegate
-(void)imageTouch:(NSSet *)touches withEvent:(UIEvent *)event whichView:(id)imageView;
@end

@interface ImageTouchView : UIImageView 
{
        id<ImageTouchDelegate>  delegate;
        BOOL delegatrue;
}
@property(nonatomic,assign)id<ImageTouchDelegate> delegate;

@end
这个是头文件,源文件可以是这个这样子

@implementation ImageTouchView
@synthesize     delegate;

-(id)initWithFrame:(CGRect)frame
{
        if (self == [super initWithFrame:frame]) 
        {
                [self setUserInteractionEnabled:YES];
                delegatrue=YES;
        }
        return  self;
}
- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view
{
        return YES;
}


-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
        if (delegatrue)
        {
                [delegate imageTouch:touches withEvent:event whichView:self];
        }

分享到:
评论

相关推荐

    ios UIScrollView响应touch事件

    在iOS开发中,UIScrollView是一个非常重要的控件,它允许用户通过滚动来查看超过屏幕大小的内容。在处理触摸事件时,UIScrollView具有独特的机制,使得开发者能够实现丰富的交互效果。本篇文章将深入探讨`...

    UIScrollView响应UITouc事件

    UIScrollView不能响应UITouch事件的解决办法,原因是:UIView的touch事件被UIScrollView捕获了。 解决办法:让UIScrollView将事件传递过去。于是最简单的解决办法就是加一个UIScrollView的category。这样每个用到...

    UIScrollView类目

    UIScrollView不能响应UITouch事件的解决办法,原因是:UIView的touch事件被UIScrollView捕获了。 解决办法:让UIScrollView将事件传递过去。于是最简单的解决办法就是加一个UIScrollView的category。这样每个用到...

    Go-完美解决UIScrollView嵌套滑动手势冲突

    例如,可以创建一个Cocoa Touch框架,实现手势管理的逻辑,然后在Go项目中通过Cgo桥接调用这些方法。 总之,解决嵌套UIScrollView手势冲突的关键在于精细化控制手势识别的顺序和条件。通过自定义手势、调整手势参数...

    IOS UIScrollView + UIButton 实现页面和顶部标签页水平滚动效果

    button.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside) @objc func buttonTapped(_ sender: UIButton) { let index = sender.tag // 假设每个按钮的tag值对应标签页的索引 ...

    iOS开发中使用UIScrollView实现图片轮播和点击

    设置其代理并实现`- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch`方法,确保只有在用户点击图片时才响应手势。一旦用户点击图片,可以通过计算点击位置...

    ios-GSSliderView(类似于UISlider) UIScrollView做的分页选择.zip

    自己用imageView加touch,画了一个slider,类似于UISlider,但是功能较API功能全面。加上scrollView做了一个分页选择。.m文件内注释很少,欢迎留言交流。

    Cocoa Touch:UIKit

    Cocoa Touch是Apple iOS开发的核心组成部分,其主要的UI构建框架就是UIKit。UIKit提供了一系列的类和接口,用于创建和管理iOS应用的用户界面、处理用户交互以及进行系统级别的任务。在iOS开发中,开发者通常会用到...

    IOS应用源码——Viewchange 2无限循环浏览图片,Touch.rar

    "Viewchange 2无限循环浏览图片,Touch.rar"这个压缩包提供了一个实现这一功能的源码示例,主要关注于图片的无缝滚动和触摸事件的响应。 首先,我们要理解这个应用的核心功能是无限循环浏览图片。在iOS中,我们可以...

    IOS应用源码——Viewchange 2无限循环浏览图片,Touch2.rar

    3. **UIScrollView**:在iOS中,`UIScrollView`是实现图片浏览的基础组件,它可以滚动和缩放内容,非常适合用来构建图片浏览器。 4. **AutoLayout**:为了确保在不同屏幕尺寸的设备上都能正确显示,开发者可能会...

    IOS 仿网易 banner scrollview 到头后 手势 事件提交到下级 拉开界面的效果

    以前 总是想 uiscrollview 滚动到 边缘了 把手势 传递下去 可是 IOS 不支持自己 产生touch 事件 后来 发现 IOS5 之后 scrollview 自带了 pan手势 (英语差 不会打gesture) 多试了几次 发现 直接移动 scrollview...

    IOS应用源码——Viewchange 2无限循环浏览图片,Touch.zip

    6. **UIScrollView**:实现无限循环浏览图片,很可能会用到这个组件,因为它允许用户在内容超出屏幕大小时进行滚动。 7. **数组操作**:为了实现图片的无限循环,开发者可能会使用数组的索引操作和循环逻辑。 8. *...

    BHSwapBack-UIScrollView:您可以在scrollview滚动时向后滑动视图控制器

    【标签】"Objective-C"标明了这个库是用苹果的Objective-C编程语言编写的,这适用于那些使用Cocoa Touch框架开发iOS和OS X应用程序的开发者。Objective-C是Apple的原生开发语言,对于熟悉此语言的开发者来说,理解和...

    ios scrollview嵌套tableview同向滑动的示例

    在iOS开发中,有时我们需要在一个UIScrollView中嵌套一个UITableView,以实现更复杂的界面布局。本文将探讨如何在iOS中处理这种嵌套同向滑动的情况,以及如何避免一些常见的问题。 首先,我们要明白,Apple官方并不...

    SSRollingButtonScrollView:iOS UIScrollView扩展。 按钮的无限滚动。 支持水平或垂直滚动

    SSRollingButtonScrollView是一个自定义UIScrollView子类,具有UIButtons的无限循环滚动的功能。 SSRollingButtonScrollView的用户至少必须提供按钮标题数组并指定布局样式(水平滚动或垂直滚动​​)。 通过实现可...

    coco2.2scrowview做的类似pageview的选关界面

    "coco2.2scrowview做的类似pageview的选关界面"是一个利用Cocoa Touch框架中的UIScrollView及其子类UIPageControl来实现的选关界面。这种设计方式允许用户在多个页面间滑动浏览,每个页面代表一个关卡或游戏阶段,...

    iOS实现启动引导页与指纹解锁的方法详解

    4. **滚动逻辑**:设置`UIScrollView`的`contentSize`以适应所有页面,并实现`UIScrollViewDelegate`方法,如`scrollViewDidEndDecelerating:`,以便在用户浏览完所有页面后,可以跳转到登录或主页面,并将已看过...

    swift-模仿网易的标签选择实现懒加载

    5. 添加点击事件:为每个标签按钮设置`addTarget`方法,监听`touchUpInside`事件,当用户点击标签时,执行相应的回调函数,更新内容或者展示相应标签下的详情。 6. 调整滚动行为:为了让标签在滑动时居中显示,可以...

    解决页面使用overflow: scroll在iOS上滑动卡顿的问题1

    在内容部分,开发者提到了一种解决方案,即使用CSS的`-webkit-overflow-scrolling: touch;`属性。这个属性允许iOS设备使用硬件加速来优化滚动性能,从而解决卡顿问题。然而,使用这个属性可能会增加内存消耗。在性能...

    ios-Button_仿造UICollectionView的横向.zip

    在这个项目中,开发者可能通过自定义`UIView`或者继承自`UIScrollView`,并结合`UIButton`来创建一个水平滚动的按钮列表。每个按钮代表一个可点击的单元格,用户点击后可以触发相应的回调,获取被点击按钮的下标,...

Global site tag (gtag.js) - Google Analytics