zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JSON数据的解析
    【预测】腾讯后台开发明天面试会被虐死
    c++中对const的总结
    关于需求
    SQLServer 2K 安装重复出现挂起问题解决办法
    通用.Net平台系统框架剖析与设计(简单概括)
    .NET经典资源站点汇总
    petshop4.0研究
    白唬刘备第一
    SQLServer 2K 安装重复出现挂起问题解决办法
  • 原文地址:https://www.cnblogs.com/smithjackyson/p/5115803.html
Copyright © 2011-2022 走看看