• Objectiv-C 为UIImageView,UILabel等默认没有交互的控件添加点击事件


    在OC的UI中,一些常用的控件如UIImageView,UILabel等默认是没有交互的,就是在控件上点击,双击或者滑动等操作是没有效果的。

    下面的方法较为完美的解决了控件的交互问题:

    (以UIImageView为例,其他控件类似)

    首先,创建一个UIImageView:

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
    
    //设置imageView图片
    [imageView setImage:[UIImage imageNamed:@"first.jpg"]];
    
    //设置imageView的userInteractionEnabled为YES,即开启交互
    imageView.userInteractionEnabled = YES;
    

    然后,创建一个手势,这里以单击手势为例:

    //创建单击手势tap,并指定处理方法为SingleClick
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(SingleClick:)];
    

    第三步,为imageView添加手势

    [imageView addGestureRecognizer:tap];
    

    最后,实现单击方法SingleClick

    - (void)SingleClick:(UITapGestureRecognizer *)tap
    {
        //通过手势tap获取到单击的View
        UIImageView *imageView = (UIImageView *)[tap view];
        
        //下面就可以对单击的View进行操作了
        //注意:强转类型时要确保正确,什么类型控件添加了手势tap,转型就是什么类型
    }
    

      


    转载请注明:作者SmithJackyson

  • 相关阅读:
    陶哲轩实分析 12.5.15 :有限交性质
    opencvresize修改图像尺寸
    opencvflip翻转
    opencvarcLength计算轮廓周长
    opencvLUT查表
    opencvcontourArea计算轮廓面积
    opencvRNG产生随机数
    opencvSVD奇异值分解
    opencvreshape修改行数和通道数
    opencvmean计算均值
  • 原文地址:https://www.cnblogs.com/smithjackyson/p/5115803.html
Copyright © 2020-2023  润新知