Как изменить действие кнопки с помощью сегментированного управления

У меня есть кнопка, действие которой дает толчок к другому представлению. Моя цель - сделать так, чтобы эта кнопка открывала разные представления в соответствии с выбранным сегментом. Например: у меня есть кнопка «Запрос» и контрольный сегмент с двумя сегментами, которые называются «Соль для пиццы» и «Сладкая пицца». При выборе, например, «Пицца с солью» в сегменте, а затем сразу после нажатия кнопки «Запрос», я хочу открыть представление меню «Соль для пиццы». И выбрав «Сладкая пицца», я хочу, чтобы кнопка отображалась открыть еще один вид с меню «Сладкая пицца».

Примечание: у меня уже есть два контроллера с представлениями.

Какой код я использую?

Мой код:

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

- (IBAction)pushToNextView:(id)sender {


}

person Vinícius Eduardo    schedule 10.09.2014    source источник


Ответы (2)


При нажатии на кнопку запроса:

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];
}
person freshking    schedule 10.09.2014
comment
Спасибо за попытку ответить, но я хочу: когда я выбираю соленый сегмент, меняю кнопку действия, чтобы, когда я нажимаю на кнопку, входил в представление соленого. Я не хочу, чтобы при выборе сегмента автоматически переключался на просмотр. - person Vinícius Eduardo; 10.09.2014
comment
Это и есть ответ. Сначала вы выбираете сегмент, а затем, нажимая кнопку действия, вы используете приведенный выше код для нажатия правильного контроллера представления. - person freshking; 10.09.2014
comment
Нееет, ты меня не понимаешь. Посмотрите: у меня есть кнопка под названием Request и сегмент управления под названием: [Salty] | [Sweet], например, когда я выбираю Salty, мне нужно нажать кнопку Delivery, чтобы развернуть представление, а не нажимать автоматически после нажатия сегмент. - person Vinícius Eduardo; 10.09.2014
comment
Слушайте теперь очень внимательно: КОД ВЫШЕ ДЛЯ ВАШЕЙ КНОПКИ ДОСТАВКИ, А ## НЕ ДЛЯ ВАШЕГО КОНТРОЛЯ СЕГМЕНТА! - person freshking; 10.09.2014
comment
вау, я круто путешествовал на мой взгляд. извините и спасибо за ответ! это результат того, что вы весь день жарили в объективе, хаха, извини еще раз, чувак! - person Vinícius Eduardo; 10.09.2014

Используйте этот метод для выполнения действий с различными кнопками 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;

    }
}

Соедините этот метод с UISegmentControl из xib, используя атрибут "value changed".

person Neha Gupta    schedule 10.09.2014