减缓iOS中的计算速度。

时间:2011-07-29 11:35:50

标签: iphone objective-c xcode

不确定这是否可行或推荐,但是,我有一个iPhone应用程序,它根据我的用户年龄,身高和体重执行计算。当我点击我的计算按钮时,结果输出是立即的,执行计算并立即填充我的UILabel。

是否可以减慢此速度并在视图警报上进行“计算”,然后填充标签?

2 个答案:

答案 0 :(得分:2)

您可以创建一个被触发的简单NSTimer,然后使用UIActivityIndi​​catorView(例如)在您的应用中显示视图内的“加载/计算”进度(或者甚至将其置于UIAlertView中),然后计时器完成后,显示计算出的标签。

希望这会有所帮助:)

-

编辑;添加了示例代码

spinnerAlertView = [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"My App Name", @"") message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil] autorelease]; // member
spinner = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(125, 50, 30, 30)]; // member
spinner.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[spinnerAlertView addSubview: spinner];
[spinner startAnimating];
[spinnerAlertView show];

然后,当计算完成时,请记住这样做:

[spinnerAlertView dismissWithClickedButtonIndex:0 animated:TRUE];

你可以告诉它停止动画并将其隐藏在主视图中,但这样我们就可以删除它,就像用户解雇它一样......更容易。

答案 1 :(得分:2)

单击按钮后,显示加载提醒并执行以下操作:

[self performSelector:@selector(calculate) withObject:nil afterDelay:1];

- (void)calculate {
//do your calulation and update the result label
}