点击图片不响应的原因

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012581760/article/details/82699412
#import "TapImageView.h"

@implementation TapImageView

- (void)dealloc
{//
    _t_delegate = nil;
}
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self)
    {
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Tapped:)];
        [self addGestureRecognizer:tap];
        self.clipsToBounds = YES;
        self.userInteractionEnabled = YES;
        self.layer.cornerRadius = 5;
        self.layer.masksToBounds  = YES;
        self.contentMode = UIViewContentModeScaleAspectFill;
        self.backgroundColor = [UIColor clearColor];
    }
    return self;
}

- (void) Tapped:(UIGestureRecognizer *) gesture
{
    if ([self.t_delegate respondsToSelector:@selector(tappedWithObject:)])
    {
        [self.t_delegate tappedWithObject:self];
    }

}
@end

图片点击不响应的原因:
这里写图片描述
找bug
思路:
完善代码的时候,由于把计算父视图高度的方法提前计算了,以至于点击图片看似表明的高度是对的,实际上,他的高度是空的,子视图的父视图显示的范围超过了子视图的父视图的父视图的范围,所以点击事件不响应(现象),下次不响应的时候方法罗列
1 图片开启用户交互(默认关闭)
2 图片的父视图,图片的父视图的父视图,…,他们的的宽高是不是大于该图片.如果小于,则图片不响应点击事件.(本质)只要起图片的父视图,或者,图片没有在其父视图的显示范围内,则图片就不会响应点击事件

猜你喜欢

转载自blog.csdn.net/u012581760/article/details/82699412