Iphone 在视图之间切换后更改标签
我有两个用于iPhone的视图应用程序。在第一个示例中,我调用每秒使用NSTimer执行此操作的代码:Iphone 在视图之间切换后更改标签,iphone,objective-c,uiview,timer,Iphone,Objective C,Uiview,Timer,我有两个用于iPhone的视图应用程序。在第一个示例中,我调用每秒使用NSTimer执行此操作的代码: 更新变量 发出声音 更新标签 更新图像位置 当我启动应用程序时,一切都很完美。当我转到其他视图,然后回到第一个屏幕-1和2工作正常,但3和4复位,根本不工作 有什么问题吗 看起来它失去了元素的“钩子” -(void)countup { DeccelFloat += 0.4; SpeedFloat += 5/(DeccelFloat); SpeedInt = lroundf(SpeedFloat
-(void)countup {
DeccelFloat += 0.4;
SpeedFloat += 5/(DeccelFloat);
SpeedInt = lroundf(SpeedFloat);
speed.text = [NSString stringWithFormat:@"%i", SpeedInt];
imageview.center = CGPointMake(imageview.center.x, imageview.center.y+3);
if (imageview.center.y < 280) {
imageview.alpha = 1;
if (SpeedFloat > MaxSpeedValue) {
[self playalarm];
}else{
[self playbeep];
}
}
if ((imageview.center.y >= 280) && (imageview.center.y < 283)) {
if (SpeedFloat > MaxSpeedValue) {
[self playshot];
}else{
[self playbeepbeep];
}
}
if ((imageview.center.y >= 280) && (imageview.center.y < 350)) {
imageview.alpha = 0.5-(0.5/70)*(imageview.center.y - 280);
}
if (imageview.center.y >= 350) {
imageview.alpha = 0;
imageview.center = CGPointMake(imageview.center.x, 180);
}
}
看看你的代码对我们有好处!!!补充。StartedDef只启动一次&
- (void)viewDidLoad
{
[super viewDidLoad];
MaxSpeedValue = 60;
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSNumber *maxspeedsetttings = nil;
NSNumber *blinkingsetttings = nil;
NSNumber *startedsetttings = nil;
if (standardUserDefaults) {
maxspeedsetttings = [standardUserDefaults objectForKey:@"maxspeedsetttings"];
blinkingsetttings = [standardUserDefaults objectForKey:@"blinkingsetttings"];
startedsetttings = [standardUserDefaults objectForKey:@"startedsetttings"];
}
MaxSpeedDef = [maxspeedsetttings intValue];
if (MaxSpeedDef == 1) {
maxspeed.text = [NSString stringWithFormat:@"%i", MaxSpeedValue];
}else{
maxspeed.alpha = 0;
maxspeedlabel.alpha = 0;
}
imageview.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"0.png"],
[UIImage imageNamed:@"5.png"],
[UIImage imageNamed:@"10.png"],
nil];
imageview.animationDuration = 1;
imageview.animationRepeatCount = 0;
BlinkingDef = [blinkingsetttings intValue];
if (BlinkingDef == 1) {
[imageview startAnimating];
}else{
[imageview stopAnimating];
}
[self.view addSubview:imageview];
StartedDef = [startedsetttings intValue];
if (StartedDef == 0) {
SpeedFloat = 0;
DeccelFloat = 0;
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countup) userInfo:nil repeats:YES];
StartedDef = 1;
if (standardUserDefaults) {
[standardUserDefaults setObject:[NSNumber numberWithInt:StartedDef] forKey:@"startedsetttings"];
[standardUserDefaults synchronize];
}
}
}