uiscrollview 里面内嵌几个button 怎么完美解决点击事件的响应

 我来答
南京新华电脑专修学院
2017-08-19 · 新华电脑教育用心为户提供专业
南京新华电脑专修学院
新华电脑教育用心为户提供专业的电脑相关专业疑问解答
向TA提问
展开全部
UISCrollView本身不支持touch,
需要重写UIImageView类,响应touch事件,委托给你的类处理,

重写UIImageView类代码如下,然后在要添加UIImageView的类中,实现下面代码定义的协议

#import <Foundation/Foundation.h>

@protocol ImageViewDelegate
@optional

-(void)TouchesBegin:(NSInteger)imageTag;

@end

@interface CustomizeImageView : UIImageView {
//声明一个代理
id<ImageViewDelegate> delegate;
}
@property (nonatomic,assign) id<ImageViewDelegate> delegate;
@end

#import "CustomizeImageView.h"

@implementation CustomizeImageView

@synthesize delegate;

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
//NSLog(@"delegate:%@",self.delegate);
[self.delegate TouchesBegin:self.tag];
}

- (void)dealloc {
[super dealloc];
}

@end

UIScrollView把touch事件隔离了,它默认响应的是drag事件。
重写UIImageView类,然后往UIScrollView添加CustomizeImageView,并且把self. delegate = self;
这样,UIImageView就把touch事件委托给别人处理了,

在要处理的类中,实现上述协议即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式