0

I have a segmented control that should change the value of my variable when each segmented control button is selected. 例如,如果选择了按钮 0,则应为变量分配“1000”,或者如果选择了按钮 1,则应为变量分配值“2000”。

-(IBAction)segmentbutton1:(id)sender {

    if (segmentController1.selectedSegmentIndex == 0) {
        settingVar1 = 1000;
    }
    if (segmentController1.selectedSegmentIndex == 1) {
        settingVar1 = 2000;
    }
    if (segmentController1.selectedSegmentIndex == 2) {
        settingVar1 = 3000;
    }
}

我在我的 .m 文件中合成了变量“settingVar1”

@interface ViewController ()
@end
@synthesize settingVar1;

我在我的 .h 文件中声明了它。

@interface ViewController : UIViewController {

    int settingVar1;

我还在 .h 文件中创建了变量属性。

@property (nonatomic)int settingVar1;

有什么我需要改变的吗?如果您需要查看任何其他代码,请告诉我。提前感谢您提供的任何建议。

4

3 回答 3

0

Check please you should do it like this:

- (void) viewDidLoad
{
    [segmentController1 addTarget: self
                           action: @selector(segmentbutton1:)
                 forControlEvents: UIControlEventValueChanged];
}

- (IBAction) segmentbutton1: (id)sender 
{
    if (segmentController1.selectedSegmentIndex == 0) {
        settingVar1 = 1000;
    }
    if (segmentController1.selectedSegmentIndex == 1) {
        settingVar1 = 2000;
    }
    if (segmentController1.selectedSegmentIndex == 2) {
        settingVar1 = 3000;
    }
}
于 2013-06-23T05:14:17.607 回答
0

您可以从此链接获得帮助:在此处输入链接描述

请检查您的操作方法是否与xib文件连接UISegmentedControl。更改值的更好方法。你应该用这个

-(IBAction) segmentbutton1: (id)sender 
{
        settingVar1 = (segmentController1.selectedSegmentIndex + 1) * 1000;

}
于 2013-06-23T06:05:57.367 回答
0

我想到了。在我的 .xib 文件(属性选择器选项卡)中,我的段控制器中的第一个按钮默认为“选中”,所以当我测试应用程序时,我没有点击任何段控制按钮,因为我认为印象深刻的按钮会有一个价值。我从段控件中删除了“已选择”选项,这迫使我必须单击一个按钮并且公式有效。感谢所有为我提供帮助的人。

于 2013-06-23T16:06:58.070 回答