UIButton 在我更改视图并切换回来后死了

Posted

技术标签:

【中文标题】UIButton 在我更改视图并切换回来后死了【英文标题】:UIButton is dead after I change views and switch back 【发布时间】:2012-05-04 04:09:41 【问题描述】:

所以我创建了一个程序,当设备摇晃时会发出声音。有一个按钮,当轻按时会随时停止播放声音(这是“重置”方法)。还有另一个按钮,按下时会显示另一个视图(这是“infoView”方法)。当我转到“infoView”然后返回第一个视图时会出现问题。摇动设备时声音仍然播放,但“重置”按钮变得无响应。这是我到目前为止所拥有的,任何帮助将不胜感激。

PS。我想知道它是否与FirstResponders有关?我仍在努力围绕 FirstResponders。

.h

#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

【问题讨论】:

当您转到信息视图时,您可以在该类中的所有可用按钮处尝试此代码。 【参考方案1】:

当您转到信息视图时,您可以在该类中的所有可用按钮处尝试此代码。

-(void)viewWillDisapeers
 

  [audioPlayer stop];

 

或者添加这个方法

-(IBAction)infoView:(id)sender
 
 infoViewController *second = [[infoViewController alloc] initWithNibName:Nil bundle:Nil];
 [self presentModalViewController:second animated:YES];
 [audioPlayer stop];
 [second release];
 

【讨论】:

以上是关于UIButton 在我更改视图并切换回来后死了的主要内容,如果未能解决你的问题,请参考以下文章

可重复使用的表格视图单元格中的 UIButton 图像切换问题

单击 UIButton 时切换/更改 UICollectionView 中的单元格

如何更改视图中每个 UIButton 的框架

Swift - 单击按钮更改 UIPageViewController 视图

轻按 UIButton 以切换到另一个 xib

无法更改 UIButton 图像