Я создаю приложение, которое в основном является расширением учебного пособия (я очень новичок в мире разработки приложений). Учебное пособие имело прямоугольник голубого цвета, перемещающийся по экрану до точки касания.
Я изменил фон на ImageView, чтобы он выглядел как глубокое море, и я поместил ImageView внутри голубого UIView, чтобы отобразить белый силуэт дайвера.
В этом эксперименте / упражнении я хочу, чтобы пузырьки появлялись и исчезали каждые пару секунд как у дайвера, так и у водорослей в нижней части экрана.
Я настроил свой таймер, используя эту ссылку Quickie , но я получаю всевозможные ошибки из объявления NSTimer.
Вот мой код:
NSTimer *bubbleTimer;
bubbleTimer = [NSTimer scheduledTimerWithTimeInterval: 0.5
target: bubble
selector: @selector(moveBubble:)
userInfo: nil
repeats: YES];
Линия NSTimer * bubbleTimer; не окрашивает NSTimer, и ошибка говорит, что это defaultBubTimer к int.
Как я уже сказал, я все еще пытаюсь найти свои ноги в этом мире, поэтому любая помощь, которую вы можете оказать, будет оценена
РЕДАКТИРОВАТЬ:
вот мой .ч
#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
и мой .м
#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