I'm creating an app that is basically an extension of a tutorial (I am very new to the app development world). The tutorial had a cyan coloured box moving around the screen to the point where you touch.
What I did was change the background to an ImageView so it looks like the deep sea and I put a ImageView inside the cyan UIView to display the white silhouette of a diver.
What I want from this experiment/exercise is to trigger bubbles to appear and disappear every couple of seconds both from the diver and the seaweed at the bottom of the screen.
I set up my timer using this Quickie link but I'm getting all sorts of errors from the NSTimer declaration.
Here is my code:
NSTimer *bubbleTimer;
bubbleTimer = [NSTimer scheduledTimerWithTimeInterval: 0.5
target: bubble
selector: @selector(moveBubble:)
userInfo: nil
repeats: YES];
The line NSTimer *bubbleTimer; does not colour the NSTimer, and an error said that it's defaulting bubbleTimer to an int.
As I've said, I'm still trying to find my feet in this world so any help you can give will be appreciated
EDIT:
here's my .h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface TouchView : UIView {
IBOutlet UIView *stretchView; //This defines an object in Interface Builder called stretchView
IBOutlet UIView *bubble;
NSTimer *bubbleTimer;
}
@end
and my .m
#import "TouchView.h"
@implementation TouchView
//First we need a method that processes each touch of the screen
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
//Begin an animation - The animation is given a name which in this case is
//Move and Stretch
[UIView beginAnimations:@"MoveAndStretch" context:nil];
//We set a duration for this animation in seconds
[UIView setAnimationDuration:1];
//Start the animation from the screen's current state
[UIView setAnimationBeginsFromCurrentState:YES];
//Any location changes between here and Commit Animations is animated.
//Firstly we need to process a simple touch which
if([touches count] == 1) {
//make a single touch variable
UITouch *touch = [touches anyObject];
//change the location of stretchview to the location of the touch
stretchView.center = [touch locationInView:self];
}
[UIView commitAnimations];
}
- (void)moveBubble:(NSTimer *)theTimer {
CGPoint start;
start.x=480;
start.y=300;
CGPoint end;
end.x=0;
end.y=300;
bubble.center=start;
[UIView beginAnimations:@"Bubble" context:nil];
[UIView setAnimationDuration:2];
[UIView setAnimationBeginsFromCurrentState:YES];
bubble.center=end;
[UIView commitAnimations];
}
bubbleTimer = [NSTimer scheduledTimerWithTimeInterval: 0.5
target: self
selector: @selector(moveBubble:)
userInfo: nil
repeats: YES];
@end