gpt4 book ai didi

objective-c - 在 objective-c 中使用基于时间的 ProgressBar

转载 作者:行者123 更新时间:2023-11-28 22:50:32 25 4
gpt4 key购买 nike

嗨,我想在我的 iPhone 应用程序中使用基于时间的进度条,例如如果一个人在上午 10:00 开始旅程并在上午 11:00 结束,那么我将每 5 分钟更新一次与当前时间相比的进度,怎么可能

最佳答案

您可以使用一个简单的 NSTimer 来实现这一点:

当然,在viewDidLoad中,这些变量需要在你的头文件中声明。

UIProgressView *myProgressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];
float someFloat = 0;

NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(methodToUpdateProgress) userInfo:nil repeats:YES];

然后这将更新进度 View (假设最小/最大值为 0-100)

- (void)methodToUpdateProgress
{
if(someFloat == 100){
[myTimer invalidate];
}else{
someFloat = someFloat + 12;
[myProgressView setProgress:someFloat animated:YES];
}
}

此外,如果调用它的时间实际上是一个问题,那么这个示例应该对您有很大帮助。 引自: How do I use NSTimer?

NSDate *d = [NSDate dateWithTimeIntervalSinceNow: 60.0];
NSTimer *t = [[NSTimer alloc] initWithFireDate: d
interval: 1
target: self
selector:@selector(onTick:)
userInfo:nil repeats:YES];

NSRunLoop *runner = [NSRunLoop currentRunLoop];
[runner addTimer:t forMode: NSDefaultRunLoopMode];
[t release];

注意:这是一个非常粗略的例子,但它应该能说明问题。希望这对您有所帮助!

关于objective-c - 在 objective-c 中使用基于时间的 ProgressBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12087125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com