Многолинейный UISegmentedControl - PullRequest
       4

Многолинейный UISegmentedControl

3 голосов
/ 05 февраля 2011

Как мне сделать многослойный UISegmentedControl.Мне нужно, чтобы было 6 кнопок, по 3 в каждой строке.Как я могу сделать это программно?

Ответы [ 2 ]

6 голосов
/ 05 февраля 2011

Вам нужно будет использовать два из них, используя свойство selectedSegmentIndex.Если при получении действия от одного элемента управления вы устанавливаете значение свойства другого элемента управления на -1, это фактически даст вам банк из шести кнопок в двух строках, которые, по-видимому, связаны друг с другом как одна группа.

1 голос
/ 23 сентября 2013

Просто добавьте код в ответ @Adam EberBach:

В viewDidLoad

[self.orderOptionsSegmentedControl1 addTarget:self action:@selector(disableOtherSegmentedControl:) forControlEvents:UIControlEventValueChanged];
[self.orderOptionsSegmentedControl2 addTarget:self action:@selector(disableOtherSegmentedControl:) forControlEvents:UIControlEventValueChanged];

Затем выполните disableOtherSegmentedControl

- (void) disableOtherSegmentedControl:(id)sender
{
    if (sender == self.orderOptionsSegmentedControl1)
    {
        self.orderOptionsSegmentedControl2.selectedSegmentIndex = -1;
    }

    else if (sender == self.orderOptionsSegmentedControl2)
    {
        self.orderOptionsSegmentedControl1.selectedSegmentIndex = -1;
    }
}
...