iOS:图像和点击事件

问题:如何区分点的是哪张图片?

//
//  main.m
//  Hello
//
//  Created by lishujun on 14-8-28.
//  Copyright (c) 2014年 lishujun. All rights reserved.
//

#import <UIKit/UIKit.h>

// 视图控制器对象
@interface HelloWorldViewController : UIViewController
@end

@implementation HelloWorldViewController

-(void) loadView
{
    //创建视图对象
    UIView *contentView = [[UIView alloc]initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    contentView.backgroundColor = [UIColor lightGrayColor];
    self.view = contentView;

    UIImageView *imageView =[[UIImageView alloc]initWithFrame:CGRectMake(70, 100, 100, 100)];
    imageView.image = [UIImage imageNamed:@"100.png"];
    imageView.userInteractionEnabled = YES;
    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(UesrClicked:)];
    [imageView addGestureRecognizer:singleTap];

    UIImageView *imageView2 =[[UIImageView alloc]initWithFrame:CGRectMake(70, 240, 100, 100)];
    imageView2.image = [UIImage imageNamed:@"100.png"];
    imageView2.userInteractionEnabled = YES;
    UITapGestureRecognizer *singleTap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(UesrClicked:)];
    [imageView2 addGestureRecognizer:singleTap2];

    [contentView addSubview:imageView];
    [contentView addSubview:imageView2];
}

-(void) UesrClicked:(id)sender
{
    //NSLog(@"%@", ((UIImageView*)((UITapGestureRecognizer *)sender).view).image);
    NSLog(@"%@",sender);
}

@end

// 委托对象
@interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate>
{
    IBOutlet UIWindow *window;
}

@property (nonatomic, retain) UIWindow *window;
//必须声明为属性,声明为局部变量则无法绘制视图,显示为黑屏
@end

@implementation HelloWorldAppDelegate
@synthesize window;

-(void) applicationDidFinishLaunching:(UIApplication *)application
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
    HelloWorldViewController *viewController = [[HelloWorldViewController alloc]init];
    self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];
}

@end

// 程序入口
int main(int argc, char * argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, @"HelloWorldAppDelegate");
    }
}
时间: 2024-08-01 19:05:45

iOS:图像和点击事件的相关文章

app内嵌vue h5,安卓和ios拦截H5点击事件

安卓和ios拦截h5点击事件,这个函数事件必须是暴漏在window下的 安卓和ios拦截普通h5函数: 1 <div onclick = "show(),window.android.show()"></div> 2 <script> 3 function show(){ //如果需要传值,可以在show里添加参数,在上面的点击事件中直接进行传值就好 4 alert(1) 5 } 6 </script> vue函数并没有直接暴漏在wind

IOS - UIView添加点击事件

UIView通过手势(Gesture-UITapGestureRecognizer)添加点击事件, 类似于UIButton的效果. 示例: UIImageView *iKnowIcon = [CYResource loadImageView:@"free-question-once-more-i-know.png"]; iKnowIcon.top = questionIcon.top + scaleWidthWith320(200); iKnowIcon.centerX = self.

iOS:UIImageView添加点击事件

UIImageView并不像UIButton那样点击鼠标就可以关联点击事件,也不像Android里有onClickListener,这个时候就需要借助UITapGestureRecognizer类,从类名上就可以看出,这个类就是用于处理tap(单击)事件的. 创建两个UIImageView对象,imageView1和imageView2 [imageView1 setUserInteractionEnabled:YES]; [imageView2 setUserInteractionEnable

ios 控制button点击事件的触发频率

在项目中常常会遇到这样的问题: button点击就会触发相应的点击事件,比如说是向向服务器发送网络请求或者弹出弹框. 但如果用户点击频率很快的话,那就会不停的触发点击事件,从而使UI错乱. 对于这种问题我的解决方案是:设置布尔值. (1)对于与服务器有交互的点击事件:点击的时候判断bool值:在发送请求前设置一次:服务器得到应答后改变bool值即可. (2)对于无服务器交互点击事件:点击的时候判断:执行弹框前设置:弹框完成后延时0.25秒在设置. 直接上代码 .... @property (no

iOS 检测状态栏点击事件

当tableView.scrollsToTop=YES不管用时,可以使用以下方法实现点击状态栏使tableView滚动到顶部. - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event]; CGPoint location = [[[event allTouches] anyObject] locationInView:self.v

iOS Safari 中点击事件失效的解决办法

问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 可以使用下面的代码在 iOS 中进行测试. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content=&qu

ios移动端浏览器点击事件失效的解决方案

点击事件失效的原因可能是因为,你用了事件代理了, 比如这样 $(document).on("click",".fd",function(){ }) 这段代码在安卓机上是没有问题的,但是iso的自带浏览器和微信浏览器和其他浏览器都会失效,原因是ios规定,事件代理的元素只能是button元素其他一律不生效 想要解决这个问题,也很简单 1. $(document).on("click","button",function(){ }

高德 ios 自定义气泡添加点击事件无效问题

在使用高德地图sdk开发的时候,需要自定义气泡吹出框,发现气泡添加的点击事件或者button都没响应. 原因:自定义的气泡是添加到大头针上的,而大头针的size只有下面很小一部分,所以calloutView是在大头针的外面的.而 iOS 按钮超过父视图范围是无法响应事件的处理方法. 解决办法: 在CustomAnnotationView.m中重写hittest方法: - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {  

IOS开发之功能模块--给任意的UIView添加点击事件

前言:好久没写博客,今天来一波.我在实际项目开发中,会遇到这样功能需求:我已经搭好了iOS的UI界面,但是很多界面的子View用了UIView,然后这些UIView中用了UILabel和UIImageView,然后接着需求要这些View能够有点击事件,比如一点击就跳转到某个控制器.一开始懵逼了,难道我还要把他们全部改成UIButton,但是UIButton不好添加子View,难道我还要全部自定义一下UIButton,就算自定义好了,在项目已经打好的界面还是要一个个替换,多麻烦.所以就想到通过UI