UISwipegesturerecognizer to change ImageView positions on the view controller?

127 views Asked by At

I'm an Objective-C beginner and I've found similar answers on stackoverflow to my question, but even after trying all of the tips/advice I'm still lost.

I have an IBOutlet UIImageView, and I want it to be so that if the user swipes up or down on this Image, then the position of various images on the view controller change.

I'm very green with the UISwipegesturerecognizer coding, so please explain in a way a beginner would understand. Thank you very much in advance!!!

UPDATE:

@Axeva, I used the following code, and there are no caution warnings or errors. However, it isn't executing properly on my simulator. Here is my code :

interface math0 (){
UISwipeGestureRecognizer *swipeUp;}

- (void)viewDidLoad
{
[super viewDidLoad];
swipeUp = [[UISwipeGestureRecognizer alloc] initWithTarget: self action: @selector(swipedScreenUp:)];
[swipeUp setNumberOfTouchesRequired: 1];
[swipeUp setDirection: UISwipeGestureRecognizerDirectionUp];
[one addGestureRecognizer: swipeUp];
[swipeUp setEnabled: NO];
}

- (void)swipedScreenUp:(UISwipeGestureRecognizer*)swipeGesture {
// Sampling to see if it works
instructions.text = [NSString stringWithFormat:@"IT WORKED!"];
}

In my .h file, I declared - (void)swipedScreenUp:(UISwipeGestureRecognizer)swipeUp;. On my storyboard, I set my image (named one) so that it was accessibility and user interaction enabled. I've also tried with [swipeUp setEnabled: YES]; in my viewDidLoad file.

Can you or anyone tell me where the error is? Thank you!!

1

There are 1 answers

4
Axeva On BEST ANSWER

Try something like this:

@interface YourViewController () {
    UISwipeGestureRecognizer *swipeLeftToRightGesture;
}


- (void)viewDidLoad {
    [super viewDidLoad];

    swipeLeftToRightGesture = [[UISwipeGestureRecognizer alloc] initWithTarget: self action: @selector(swipedScreenRight:)];
    [swipeLeftToRightGesture setNumberOfTouchesRequired: 1];
    [swipeLeftToRightGesture setDirection: UISwipeGestureRecognizerDirectionRight];
    [[self view] addGestureRecognizer: swipeLeftToRightGesture];
}

- (void)swipedScreenRight:(UISwipeGestureRecognizer*)swipeGesture {
    // Move your image views as desired
}

You can adjust this basic code to do exactly what you wish. (different swipe directions; etc.)