Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在UIScrollview中处理触摸_Ios_Xcode_Uiscrollview_Scrollview - Fatal编程技术网

Ios 在UIScrollview中处理触摸

Ios 在UIScrollview中处理触摸,ios,xcode,uiscrollview,scrollview,Ios,Xcode,Uiscrollview,Scrollview,我有一个包含UIScrollView的视图。UIScrollView包含一个UIImageView,目前只有一个,但后面还会有更多。我希望能够将UIImageView从UIScrollView拖动到superview中 我已经复习了我在网上找到的每一个类似的问题和例子,但仍然不知道这是怎么回事 起初,我无法在scrollview中注册所有内容。经过大量搜索,我找到了一种获得联系的方法。开始注册如下: 首先,我在自动创建的ViewController.h中创建了一个新的基于视图的项目 我创建了一个

我有一个包含UIScrollView的视图。UIScrollView包含一个UIImageView,目前只有一个,但后面还会有更多。我希望能够将UIImageView从UIScrollView拖动到superview中

我已经复习了我在网上找到的每一个类似的问题和例子,但仍然不知道这是怎么回事

起初,我无法在scrollview中注册所有内容。经过大量搜索,我找到了一种获得联系的方法。开始注册如下:

首先,我在自动创建的ViewController.h中创建了一个新的基于视图的项目 我创建了一个名为slider的IBOutlet

然后在自动创建的ViewController.m中,我创建了UIScrollview

在IB中,我将UIScrollView添加到故事板,然后将其连接到滑块IBOutlet

接下来,我将类文件添加到项目中。这个新类是os UIImageView的一个子类。我把这个类命名为DragableImage

然后在IB中,我将一个图像放到UIScrollview中,单击它并将该类更改为DragableImage

在DragableImage.m中,我开始了无效的触摸,并简单地告诉它,如果单击,将隐藏

这是可行的,触摸注册并使图像消失,但我现在如何将新图像添加到主视图并使其跟随我的手指

这就是我的代码:

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {

    IBOutlet UIScrollView *slider;
}

@end
DragableImage.h

#import <UIKit/UIKit.h>

@interface DragableImage : UIImageView

@end

如何做到这一点?

这里可能会出现一个明显的问题。也就是说,如何区分拖动滚动和拖动图像之间的区别。我处理这个问题的方法是设置一个点击并按住手势识别器

一旦您检测到一个保持,您可以设置它,以便进一步的触摸/手势被发送到您的拖放代码。你可以在这里找到一个很好的教程:

会帮你的。谢谢你为我指明了正确的方向肖恩。我将暂停scrollview,直到我更好地理解一些其他概念,但这是我真正想要理解的,当我准备再次解决这个问题时,我知道从哪里开始。保存了教程页面,以防在它消失之前再次感谢你!
#import <UIKit/UIKit.h>

@interface DragableImage : UIImageView

@end
@implementation DragableImage

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    self.hidden = YES;
}

@end