2014-09-10 6 views
1

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

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

Какой код использовать?

Мой код:

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

- (IBAction)pushToNextView:(id)sender { 


} 

ответ

0

После нажатия кнопки запроса:

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

Благодарим за попытку ответить, но я хочу: когда я выберу «соленый» сегмент, измените кнопку действия, когда я нажимаю кнопку, введите вид «соленый». Я не хочу, чтобы при выборе сегмента автоматически переключался на представление. –

+0

Вот именно ответ. Сначала вы выбираете сегмент, а затем при нажатии кнопки действия вы используете приведенный выше код, чтобы нажать правильный контроллер. – freshking

+0

Нет, не понимаю меня. Посмотрите: у меня есть кнопка «Запрос» и контрольный сегмент, называемый: [Salty] | [Sweet], когда я выбираю «Salty», например, мне нужно нажать кнопку «Доставка», чтобы нажать вид, и не нажимать автоматически после нажатия в сегменте. –

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; 

    } 
} 

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