Удерживайте кнопку UIB + переместить объект - PullRequest
0 голосов
/ 10 июля 2009

У меня проблема. Theres мой взгляд, с 2 кнопками UIB и UIImageView. Когда кнопка нажата, я хочу переместить изображение, когда оно не коснулось, я хочу остановить UIImage Но я понятия не имею, как это работает. Возможно ты можешь помочь мне. Вот мой код:

- (void)viewDidLoad
{   
    currentPositionx = 150.0;
    currentPositiony = 150.0;
    currentSizex = 147.0;
    currentSizey = 146.0;
    currentSpeed = 0.70;


    contentView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    [contentView setImage:[UIImage imageNamed:@"BlackScreen.png"]];
    [contentView setUserInteractionEnabled:YES];
    [contentView setMultipleTouchEnabled:YES];
    self.view = contentView;
    [contentView release];


    // create the view that will execute our animation
    currentPlayer = [[UIImageView alloc] initWithFrame:CGRectMake(currentPositionx, currentPositiony, currentSizex, currentSizey)];

    // load all the frames of our animation
    currentPlayer.animationImages = [NSArray arrayWithObjects:  
                                    [UIImage imageNamed:@"RunnerRED_0.png"],
                                    Nil];


    currentPlayer.animationDuration = currentSpeed;
    currentPlayer.animationRepeatCount = 0;
    [currentPlayer startAnimating];
    [self.view addSubview:currentPlayer];
    [currentPlayer release];    

    UIButton *GoLeftButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(20, 263, 64, 64)];
    [GoLeftButton addTarget:self action:@selector(GoLeft:) forControlEvents:UIControlEventTouchUpInside];
    [GoLeftButton setBackgroundImage:[UIImage imageNamed:@"Arrow Left RED.png"] forState:UIControlStateNormal];
    [self.view addSubview:GoLeftButton];

    UIButton *GoRightButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(100, 263, 64, 64)];
    [GoRightButton addTarget:self action:@selector(GoRight:) forControlEvents:UIControlEventTouchUpInside];
    [GoRightButton setBackgroundImage:[UIImage imageNamed:@"Arrow Right RED.png"] forState:UIControlStateNormal];
    [self.view addSubview:GoRightButton];

}

-(void)GoLeft:(id)sender 
{

    CGRect frame = currentPlayer.frame;
    frame.origin.x = frame.origin.x - 10;
    currentPlayer.frame = frame;
    currentPlayer.transform = CGAffineTransformIdentity;
    currentPlayer.transform = CGAffineTransformMakeScale(-1.0, 1.0);
}


-(void)GoRight:(id)sender 
{
    CGRect frame = currentPlayer.frame;
    frame.origin.x = frame.origin.x + 10;
    currentPlayer.frame = frame;
    currentPlayer.transform = CGAffineTransformIdentity;
    currentPlayer.transform = CGAffineTransformMakeScale(1.0, 1.0); 
}

@end

Я надеюсь, что вы можете мне помочь

ТНХ

1 Ответ

0 голосов
/ 11 июля 2009

Полагаю, вам нужно использовать события UIControlEventTouchDown, UIControlEventTouchUpInside и UIControlEventTouchUpOutside.

При касании начните перемещать UIImage. При касании, перестаньте двигать.

РЕДАКТИРОВАТЬ: Чтобы продолжить перемещение изображения, вы можете взглянуть на UIKit анимации (доступны через UIView). Также есть событие UIControlEventTouchDownRepeat, но я не использовал его лично, поэтому не знаю, ищите ли вы его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...