Ana*_*att 24 cocoa-touch objective-c uitableview uigesturerecognizer ios
目前我遇到了一个问题,我想在我的UITableViewCell上的UIImageView被点击时执行操作.
问题:我怎么能这样做?任何人都可以向我展示代码或任何教程吗?
提前致谢!
Mic*_*lum 45
这实际上比你想象的要容易.您只需要确保在imageView上启用用户交互,然后可以向其添加点按手势.这应该在实例化单元格时完成,以避免将多个轻击手势添加到同一图像视图中.例如:
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
if (self = [super initWithCoder:aDecoder]) {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myTapMethod:)];
[self.imageView addGestureRecognizer:tap];
[self.imageView setUserInteractionEnabled:YES];
}
return self;
}
- (void)myTapMethod:(UITapGestureRecognizer *)tapGesture
{
UIImageView *imageView = (UIImageView *)tapGesture.view;
NSLog(@"%@", imageView);
}
Run Code Online (Sandbox Code Playgroud)
试试这个
//within cellForRowAtIndexPath (where customer table cell with imageview is created and reused)
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap:)];
tap.cancelsTouchesInView = YES;
tap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:tap];
// handle method
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer
{
RKLogDebug(@"imaged tab");
}
Run Code Online (Sandbox Code Playgroud)
确保你有....
imageView.userInteractionEnabled = YES;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24319 次 |
| 最近记录: |