【问题标题】:How to change a Button action with Segmented Control如何使用分段控件更改按钮操作
【发布时间】:2014-11-04 11:14:15
【问题描述】:

我有一个按钮,它有一个可以推动另一个视图的动作。我的目标是让这个按钮根据选定的段打开不同的视图。例如:我有一个名为“请求”的按钮,并有一个包含两个段的控制段,分别称为“Pizza Salt”和“Sweet Pizza”。例如,当在段中选择“Pizza Salt”然后立即单击“请求”按钮,我想打开“Salt Pizza”菜单的视图,并选择“Sweet Pizza”我希望按钮使用“Sweet Pizza”菜单打开另一个视图。

注意:我已经准备好带有视图的两个控制器。

我使用什么代码?

我的代码:

- (IBAction)changeButtonCode:(id)sender {
    if (_firstSegmentSixthView.selectedSegmentIndex == 0);
}

- (IBAction)pushToNextView:(id)sender {


}

【问题讨论】:

    标签: ios iphone xcode uisegmentedcontrol segment


    【解决方案1】:

    按下请求按钮时:

    if (_firstSegmentSixthView.selectedSegmentIndex == 0) //salty
    {
        ViewController1 *vc1 = [[ViewController1 alloc] init];
        [self.navigationController pushViewController:vc animated:YES];
    }
    else if (_firstSegmentSixthView.selectedSegmentIndex == 1) //sweet
    {
        ViewController2 *vc2 = [[ViewController2 alloc] init];
        [self.navigationController pushViewController:vc2 animated:YES];
    }
    

    【讨论】:

    • 感谢您尝试回答,但我想要的是:当我选择“咸”段时,更改操作按钮,当我单击按钮时,进入“咸”的视图。我不希望当我选择一个段时,自动切换到视图。
    • 这正是答案。您首先选择一个段,然后在按下操作按钮时使用上面的代码来推送正确的视图控制器。
    • 不,你不明白我的意思。看:我有一个名为“Request”的按钮和一个名为:[Salty]|[Sweet]的控制段,例如,当我选择“Salty”时,我需要单击“Delivery”按钮来推送视图,并且在段中点击后不会自动推送。
    • 现在仔细听:上面的代码是为您的“交付”按钮而##不是为您的分段控制!
    • 哇,我在脑海中旅行很酷。抱歉,感谢您的回答!这是在目标c中整天煎熬的结果哈哈,再次抱歉,伙计!
    【解决方案2】:

    使用该方法对UIsegmentControl的不同按钮进行操作:

    - (IBAction) segmentControlBtnAction:(id)sender
    {
        UISegmentedControl* segmentControl = (UISegmentedControl *)sender;
        int index = [segmentControl selectedSegmentIndex];
    
        switch(index)
        {
            case 0: // Perform action on first button of segment controller 
                    break;
            case 1: // Perform action on second button of segment controller 
                    break;
            case 2: // Perform action on second button of segment controller 
                    break;
            default 
                   break;
    
        }
    }
    

    使用属性"value changed" 将这个方法与xib 中的UISegmentControl 连接起来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多