我已经尝试过自己解决这个问题了,对于如何完成它我完全不知道。基本上我要做的是这样:
总体目标:使用UIProgressView
作为指标的“不同类型”而不是它的含义。
详细信息:当用户“完成”'目标'时(通过按下名为“完成”的UIButton)在一个单独的UIViewController
中,让我们称之为“View Controller 1”。我希望它在第二个UIViewController
中更新UIProgressView(称之为“View Controller 2”)。 View Controller 2中有几个UIProgressViews
,每个View Controller
代表“已完成”类别中的目标数量。所以我喜欢在 (void)progressMade:(NSString *)category
{
categoryOneProgressView.progress += 1/8 ;
//this would be called from View Controller 1, after the "complete" button was pressed.
}
2中有一个这样的void方法:
{{1}}
提前感谢您的帮助。
答案 0 :(得分:0)
您可以执行的操作是在VIEW CONTROLLER 1中触摸按钮时,您可以存储在特定类别中完成的目标的值。 View Controller 1的示例代码:
-(void)methodTriggeredOnCompleted:(NSString *)category
{
//Do you calculation for progress of a category
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:saveProgressValue forKey:category];
[defaults synchronize];
}
现在在View Controller 2中你应该做的是在ViewDidLoad方法或ViewWillAppear方法中你应该得到你存储在NSUserDefaults中的值并在进度条值中更新它
-(void)viewDidLoad
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
int val = [defaults valueForKey:category];
categoryOneProgressBar.progress = val;
}