4

いくつかの例を見た後、PanGestureRecognizer で Image ビューを移動できるウィンドウを作成しようとしています。何が欠けているのかわかりません。

  • UIView オブジェクトを作成して初期化しました
  • また、両方のビューのパン用に UIGestureRecognizer を作成しました。
  • ジェスチャー認識時に選択するメソッドを作成しました。

何が欠けているかについての考えがあれば、読んでいただければ幸いです。

これが私のコードです:

Controller.h を表示

#import <UIKit/UIKit.h>
#import "bouton.h"

@interface ATSViewController : UIViewController {
    boutonHome *bouton; }

@property (retain, nonatomic) boutonHome *bouton;

-(IBAction)handlePanGesture:(UIPanGestureRecognizer*)sender;

@end

Controller.m を表示

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIImage *image = [UIImage imageNamed:@"back.png"];
    CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);

    // Set self's frame to encompass the image
    bouton.frame = frame;
    bouton.boutonImage = image;

    [self.view addSubview:bouton];  

    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)];

    [bouton setUserInteractionEnabled:YES];
    [bouton addGestureRecognizer:panGesture];

    [self.view setUserInteractionEnabled:YES];
    [self.view addGestureRecognizer:panGesture];

    // Do any additional setup after loading the view, typically from a nib.
}

-(IBAction)handlePanGesture:(UIPanGestureRecognizer *)sender
{
    CGPoint translate = [sender translationInView:self.view]; 

    CGRect newFrame = bouton.frame;
    newFrame.origin.x += translate.x;
    newFrame.origin.y += translate.y;
    sender.view.frame = newFrame;

    if(sender.state == UIGestureRecognizerStateEnded)
    bouton.frame = newFrame;
}

BoutonHome.h

#import <Foundation/Foundation.h>

@interface boutonHome : UIView
{
    UIImage *boutonImage;
}

@property (nonatomic, retain) UIImage *boutonImage;


// Initializer for this object


@end

boutonHome.m

#import "bouton.h"

@implementation boutonHome

@synthesize boutonImage;


@end
4

0 に答える 0