【发布时间】:2010-10-22 21:18:18
【问题描述】:
我在我的 tableview 的一个单元格中有一个动画作为我的图像。当它被点击时,它变成默认的蓝色并且图像消失了!导航加载新视图,当我返回第一个视图时,希望我的动画返回,唉,没有图像:(。除了播放哔声并按下新视图。非常感谢任何帮助。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
{
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell…
switch (indexPath.section) {
case 0:
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"TBR2.png"]];
cell.primaryLabel.text = @"Text 2";
cell.primaryLabel.backgroundColor = [UIColor clearColor];
//textColor = [UIColor redColor];
cell.secondaryLabel.text = @"Text 1";
cell.secondaryLabel.backgroundColor = [UIColor clearColor];
cell.myImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"star_events.png"],
[UIImage imageNamed:@"star_events2.png"],
[UIImage imageNamed:@"star_events3.png"],
[UIImage imageNamed:@"star_events4.png"],
[UIImage imageNamed:@"star_events5.png"],
[UIImage imageNamed:@"star_events6.png"],
[UIImage imageNamed:@"star_events7.png"],
[UIImage imageNamed:@"star_events8.png"],
[UIImage imageNamed:@"star_events9.png"],
[UIImage imageNamed:@"star_events10.png"],
[UIImage imageNamed:@"star_events11.png"],
[UIImage imageNamed:@"star_events12.png"],
[UIImage imageNamed:@"star_events13.png"],
[UIImage imageNamed:@"star_events14.png"],
[UIImage imageNamed:@"star_events16.png"],
[UIImage imageNamed:@"star_events17.png"],
[UIImage imageNamed:@"star_events18.png"],
[UIImage imageNamed:@"star_events19.png"],
[UIImage imageNamed:@"star_events20.png"],
[UIImage imageNamed:@"star_events21.png"],
[UIImage imageNamed:@"star_events22.png"],
[UIImage imageNamed:@"star_events23.png"],
[UIImage imageNamed:@"star_events24.png"],
[UIImage imageNamed:@"star_events25.png"],
[UIImage imageNamed:@"star_events26.png"],nil];
// all frames will execute in .5 seconds
cell.myImageView.animationDuration = .5;
// repeat the annimation forever
cell.myImageView.animationRepeatCount = 0;
// start animating
[cell.myImageView startAnimating];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
break;
case 1:
cell.primaryLabel.text = @"Label 1";
cell.secondaryLabel.text = @"Search";
cell.myImageView.image = [UIImage imageNamed:@"magglass.png"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
break;
default:
break;
}
return cell;
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *path = [[NSBundle mainBundle] pathForResource:@"ping" ofType:@"wav"];
AVAudioPlayer *myAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path]error:NULL];
myAudio.delegate = self;
[myAudio play];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
Page2 *page2 = [[Page2 alloc] initWithNibName:@"Page2" bundle:nil];
[self.navigationController pushViewController:page2 animated:YES];
[page2 release];
}
【问题讨论】:
-
考虑使用
作为代码,它非常不可读。 -
Aleph:我在修复标签的同时修复了它。
-
你试过“[tableView reloadData];”什么时候回到第一个视图?
-
加动画的时候能不能设置
animation.removedOnCompletion = NO;?
标签: iphone objective-c cocoa-touch uitableview uikit