ios - iOS 中的 TouchBegan 和响应者

标签 ios objective-c uitouch touchesbegan

如何向对象添加事件识别器?

我有以下代码:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"touches happened");


    UITouch *touch = [[event allTouches] anyObject];
    CGPoint touchLocation = [touch locationInView:self.mainView];

    for (UIView *view in self.mainView.subviews)
    {
        if ([view isKindOfClass:[ViewController class]] &&
            CGRectContainsPoint(view.frame, touchLocation))
        {
            NSLog(@"my Touch Happened");
            UIImageView *tmp = (UIImageView *)view;
            if (selectedItem != tmp)
                [self setSelected:tmp];

        }
    }
}

我的目标是,如果我的图像被触摸,不是轻敲或长按而是完全被触摸,那么从 NSLog(@"found whats being touched");

我以前使用过 UIGestureRecognizers,你可以将它们添加到任何你想要的地方。

[self.SomeImage addGestureRecognizer:rotate];

但是我如何告诉我的对象听这段代码呢?

我想知道触摸区域是否与另一个对象所在的区域相同?也就是说,如果用户试图平移一个项目。我可以处理平底锅。但是锅前的第二个是触摸。我该如何找到那个触摸以及与之关联的对象!

最佳答案

UIViewController和UIView直接支持- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

您可以直接将您的函数放入此类对象中。 (即 UIView 或 UIViewController)

关于ios - iOS 中的 TouchBegan 和响应者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572586/

相关文章:

ios - 如何将可自定义的 View 显示到所有 View Controller 中?

ios - 静态 UITableViewCell 背景 View

objective-c - 不支持推送导航 Controller - 执行 segues

iphone - UITouch,拖放根本不起作用

iphone - 如何关闭 ios 中的 UIPickerView

ios - 如何在 CollectionView 中显示照片库或相机中选定的图像?画廊 View

ios - 谷歌地图方向作为 iPhone 上的 map

objective-c - Swift 应用程序在 Objective C 库中定义的引用类型

objective-c - 内存管理 - 更早地发现错误

ios - 检测用户触摸移动方向?