您的位置:首页 > 产品设计 > UI/UE

如何让UIScrollView里面的UIImageView响应touch事件

2011-09-20 14:45 459 查看
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事件委托给别人处理了,

在要处理的类中,实现上述协议即可

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: