Итак, я создал программу, в которой звучит звук, когда устройство встряхивается. Theres кнопка, что при нажатии останавливает звук от воспроизведения в любое время (это метод «сброса»). Есть еще одна кнопка, которая при нажатии отображает другое представление (это метод «infoView»). Проблема возникает, когда я перехожу к «infoView», а затем возвращаюсь к первому виду. Звук по-прежнему воспроизводится, когда устройство встряхивается, но кнопка «Сброс» становится невосприимчивой. Вот что я до сих пор, любая помощь была бы оценена.UIButton мертв после того, как я меняю виды и переключаюсь обратно
PS. Мне интересно, имеет ли это отношение к FirstResponders? Я все еще пытаюсь обернуть голову вокруг FirstResponders.
заголовочных
#import <UIKit/UIKit.h>
#import "AVfoundation/AVfoundation.h"
@interface OldTvViewController : UIViewController{
AVAudioPlayer *audioPlayer;
}
-(IBAction)reset;
-(IBAction)infoView:(id)sender;
@end
.m
#import "OldTvViewController.h"
#import "AudioToolBox/AudioToolBox.h"
#import "infoViewController.h"
@implementation OldTvViewController
-(IBAction)infoView:(id)sender{
infoViewController *second = [[infoViewController alloc] initWithNibName:Nil bundle:Nil];
[self presentModalViewController:second animated:YES];
[second release];
}
-(BOOL) canBecomeFirstResponder{
return YES;
}
-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{
if (event.subtype == UIEventSubtypeMotionShake) {
//Play throw sound
if(audioPlayer.playing){
[audioPlayer stop];
} else{
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/bomb.mp3",[[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
[audioPlayer play];
}
}
}
-(IBAction)reset{
[audioPlayer stop];
}
-(void)viewDidAppear:(BOOL)animated{
[self becomeFirstResponder];
[super viewDidAppear:animated];
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
@end
, когда Вы идете к информации ввиду то, где все ваши кнопки доступны в этом классе вы попробуете этот код. – vishiphone