我正在尝试创建一个程序,用户可以使用UIPanGestureRecognizer在屏幕上拖动UIImageView.我尝试了几种不同的方法,但无法弄明白.我不确定是否需要创建发件人/请求者.我的理解是UIImageView需要放在一个可以处理手势的UIView中.在我的程序中,我有一个视图控制器 - AdvancedViewController1.我创建了一个名为AdvancedView1的UIView.在界面生成器中,我已将AdvancedView1插入AdvancedViewController 1.以下是我.h和.m控制器和视图的文件.我只包含了相关的代码.如果我很接近,请告诉我,以及如何修复我的代码.在此先感谢您的帮助.
AdvancedViewController1.h
#import <UIKit/UIKit.h>
#import "AdvancedView1.h"
@interface AdvancedViewController1 : UIViewController {
UIWindow *window;
AdvancedView1 *advancedView1;
UIImageView * option1;
}
@property (retain) IBOutlet AdvancedView1 *advancedView1;
@property (retain) IBOutlet UIImageView *option1;
@end
Run Code Online (Sandbox Code Playgroud)
在IB中,我已将IBOutlet与AdvancedView1链接到UIView,并将选项1链接到我希望能够移动的UIImageView.
AdvancedViewController.m
#import "AdvancedViewController1.h"
#import "AdvancedView1.h"
@implementation AdvancedViewController1
@synthesize advancedView1;
@synthesize option1
- (void)viewDidLoad {
UIGestureRecognizer *pangr = [[UIPanGestureRecognizer alloc] initWithTarget:self.advancedView1 action:@selector(pan:)];
pangr.delegate = self;
[self.advancedView1 addGestureRecognizer:pangr];
[pangr release];
[super viewDidLoad];
}
AdvancedView1.h
#import <UIKit/UIKit.h>
#import "AdvancedViewController1.h"
@class AdvancedView1;
@interface AdvancedView1 : UIView{ …Run Code Online (Sandbox Code Playgroud)