2013-09-30 2 views
0

Я хочу иметь UISegmentedControl с несколькими вариантами выбора в нем, но также включать в себя кнопку «Информация», которая не может быть выбрана. В описании класса UISegmentedControl говорится об использовании кнопки мгновенного раскрытия информации, намекая на то, что это возможно, но нет ничего другого или в заголовочном файле, объясняющем, как это сделать.Как создать UISegmentedControl с одной мгновенной кнопкой?

Так как я могу это сделать?

ответ

1

После многих экспериментов я обнаружил, что сохранение переменной тени в выбранном индексе позволит мне это сделать. В следующем коде информационная кнопка 1, другие кнопки можно выбрать. В viewDidLoad задайте начальное значение (или запросите элемент управления для его выбранного индекса). Затем используйте следующий код для метода действия:

- (IBAction)segmentAction:(UISegmentedControl *)sender 
{ 
    NSUInteger idx = [sender selectedSegmentIndex]; 
    switch(idx) { 
    case 1: // momentary button 
     sender.selectedSegmentIndex = selectedIndex; 
     break; 
    default: 
     selectedIndex = idx; 
     // other stuff 
     break; 
    } 
    ... 

По существу, все, что вам нужно сделать, это сбросить выбранный индекс. Протестировано только с iOS7.

Смежные вопросы