我有一个包含UIScrollView的视图。 UIScrollView包含一个UIImageView(现在只有一个,但会有更多后者)。我想能够将UIImageView拖出UIScrollView并进入超级视图。在UIScrollview中处理触摸
我已经回顾了每个类似的问题和例子,我可以在网上找到,但仍然无法让我的头了解它是如何工作的。
起初我无法触及注册所有滚动视图。很多搜索后,我已经找到一种方式来获得的touchesBegan登记如下:
首先,我创建了一个新的观点基于项目,并在自动创建的“ViewController.h” 我创建一个IBOutlet名为滑块。
然后在自动创建的“ViewController.m”中创建了UIScrollview。
在IB中,我添加了一个UIScrollView到故事板,然后将它连接到“滑块”IBOutlet。
接下来我将类文件添加到项目。这个新类是UIImageView的子类。我命名这个类“DragableImage”在
然后在IB我放弃了一个图像到UIScrollView中点击它,改变了类“DragableImage”
在我的无效触摸DragableImage.m开始,简单地说它被隐藏,如果点击。
这个工作和触摸注册并使图像消失,但我现在如何将新图像添加到主视图,并让它跟随我的手指?
这是我在代码的方式:
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
IBOutlet UIScrollView *slider;
}
@end
ViewController.m
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad
{
[slider setScrollEnabled:YES];
[slider setContentSize:CGSizeMake(306, 1560)];
[slider setShowsVerticalScrollIndicator:NO];
slider.canCancelContentTouches = NO;
slider.delaysContentTouches = NO;
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
@end
DragableImage.h
#import <UIKit/UIKit.h>
@interface DragableImage : UIImageView
@end
DragableImage .m
@implementation DragableImage
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
self.hidden = YES;
}
@end
如何使这项工作?
http://stackoverflow.com/questions/5390364/gesture-recognizer-within-a-uiscrollview会帮助你。 – TheNavigat