【发布时间】:2011-10-28 11:01:33
【问题描述】:
我正在制作一个实用程序应用程序,并且我的主视图上有一个标签。根据用户的选择,该标签应该说明两件事之一。如何使用分段控件更改标签文本?
【问题讨论】:
标签: ios settings uisegmentedcontrol
我正在制作一个实用程序应用程序,并且我的主视图上有一个标签。根据用户的选择,该标签应该说明两件事之一。如何使用分段控件更改标签文本?
【问题讨论】:
标签: ios settings uisegmentedcontrol
在您的另一面,创建一个名为 segmentedControlChanged 的 IBAction - 并将其连接到分段控件上的“值更改”触发器。
在设置控制器的顶部,声明这个常量:
#define kSegmentKey @"SegmentSetting" // Call these whatever you want
在您的 segmentedControlChanged 方法中,写入 NSUserDefaults,如下所示:
- (IBAction)segmentedControlChanged:(id)sender {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:[sender selectedSegmentIndex] forKey:kSegmentKey];
}
在主视图控制器的viewWillAppear 中,输入以下代码:
- (void)viewWillAppear:(BOOL)animated {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
int setting = [defaults integerForKey:kSegmentKey];
if (setting == 0) {
myLabel.text = @"First Message";
}
else {
myLabel.text = @"Second Message";
}
}
【讨论】:
你可以:
(1) 将分段控件的值存储在作为返回值传递给FlipsideViewControllerDidFinish 方法的变量中,否则
(2) 将值存储在Flipside 视图和First 视图均可访问的某个区域,例如[NSUserDefaults standardUserDefaults]。
【讨论】: