Действие за самостоятельно созданной кнопкой не будет работать. - PullRequest
0 голосов
/ 23 октября 2011

У меня есть простая проблема, но я не знаю, почему она не работает.Я создал кнопку программно, и я хотел бы добавить метод "backLogin" к действию.Как ни странно, я не получаю никаких ошибок, но кнопка просто никак не отреагирует.Куда бы я ни посмотрел в интернете, этот код обязательно должен работать.Есть идеи, что я делаю не так?

-(void) loginAppear{

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(20, 20, 75, 37); // position in the parent view and set the size of the button
[myButton setTitle:@"Back" forState:UIControlStateNormal];
// add targets and actions
[myButton addTarget:self action:@selector(backLogin) forControlEvents:UIControlEventTouchUpInside]; 
// add to a view
[myButton setAlpha:1];
[loginImage addSubview:myButton];      
}

Код "backLogin" уже работал в других обстоятельствах:

-(void) backLogin{

CALayer *layer = loginImage.layer;    

//spin frame
CABasicAnimation *anim1 =
[CABasicAnimation animationWithKeyPath: @"transform" ];
anim1.toValue = [ NSValue valueWithCATransform3D:
                 CATransform3DMakeRotation(180 * M_PI, 0.0, 1.0, 0) ];
anim1.duration = .2;
anim1.cumulative = YES;
anim1.repeatCount = 1;
[layer addAnimation: anim1 forKey: @"transformAnimation" ];       

}

1 Ответ

0 голосов
/ 23 октября 2011

Вместо добавления myButton в loginImage, попробуйте добавить его в главное представление (например, [self.view addSubview: myButton]). Возможно, вам придется изменить координаты кадра, чтобы правильно расположить кнопку.

...