Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: Vinícius EduardoОтветов: 2

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

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

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

Мой код:

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

- (IBAction)pushToNextView:(id)sender {


}

xcodeiosiphoneuisegmentedcontrolsegment

Ответы

Ответ 1 · freshking

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

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];
}

Ответ 2 · рейтинг 2 · Neha Gupta

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы