我的问题有点含糊,这就是我发布所有代码的原因,所以我请求每个人在给我答案之前测试所有这些代码。谢谢。
在我的应用程序中,我通过编程方式创建所有UIButtons,然后将所有这些UIButtons保存在NSMutableArray中。以下是我的代码:
在我的应用程序中,我通过编程方式创建所有UIButtons,然后将所有这些UIButtons保存在NSMutableArray中。以下是我的代码:
-(void)button:(id)sender
{
int btnn = 0;
int spacex = 152;
int spacey=20;
int k=0;
saveBtn = [[NSMutableArray alloc] init];
for (int i=0; i<48; i++)
{
if (btnn>6)
{
spacey=spacey+25;
spacex = 152;
btnn = 0;
}
else
{
btnn++ ;
k++;
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(spacex, spacey, 25.0, 25.0);
int idx;
idx = arc4random()%[arr count];
NSString* titre1 = [arr objectAtIndex:idx];
[btn setTitle: titre1 forState: UIControlStateNormal];
[btn setTitleColor: [UIColor yellowColor] forState: UIControlStateNormal];
[btn.titleLabel setFont:[UIFont fontWithName:@"TimesNewRomanPS-BoldMT" size:22.0]];
spacex = spacex + 25;
btn.tag=k;
[btn addTarget:self action:@selector(aMethod:)forControlEvents:UIControlEventTouchUpInside];
[saveBtn addObject:btn];
[self.view addSubview:btn];
}
}
}
现在,在(aMethod:)中,我为每个UIButton
的TouchUpInside
事件添加了点击声音。以下是我的代码。
- (void)aMethod:(id)sender
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"button-17" ofType:@"wav"];
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate=self;
[theAudio play];
}
我的应用程序一开始运行得很好,但是在连续点击约100次UIButtons
后,我听不到点击声,并且当我点击下一个UIButtons
的touchup inside事件时,它会崩溃。有人可以帮我解决这个问题吗?谢谢。