我正在制作一个实用程序,我的主视图上有一个标签。根据用户的选择,该标签应该说两件事之一。如何使用分段控件更改标签文本?
答案 0 :(得分:0)
你可以:
(1)将分段控件的值存储在作为返回值传递给FlipsideViewControllerDidFinish
方法的变量中,否则
(2)将值存储在Flipside
视图和First
视图均可访问的某个区域,例如[NSUserDefaults standardUserDefaults]
。
答案 1 :(得分:0)
在你的另一面,创建一个名为segmentedControlChanged
的IBAction - 并将其连接到分段控件上的'value changed'触发器。
在设置控制器的顶部,声明此常量:
#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";
}
}