2015-04-01 4 views
0

Я пытаюсь создать пограничный элемент только для выбранного элемента SegmentedControl. Код, который у меня есть создает границу, что я искал, однако он создает это для обеих кнопок в сегментированной Control:Выделение активного сегментированного элемента управления + добавление границы вокруг активного сегмента

Вот код:

sender.layer.borderColor = UIColor(white: 1.0, alpha: 1.0).CGColor 
sender.layer.borderWidth = 4 

Я пытаюсь только показать граница вокруг выбранного SegmentedControl.

Я считаю, что мне нужно будет использовать либо setSelected, либо isSelected, чтобы попробовать и иметь только границу вокруг активного контроллера. Просто нужно немного больше советов.

ответ

1

UISegmentedControl имеет подвиды для каждого из его кнопок, которые вы можете получить доступ к своим subViews массива:

(mySegmentedControl.subViews[mySegmentedControl.selectedSegmentIndex] as! UIView).layer.borderWidth = 4 

Конечно, вы при изменении выбора необходимо вернуть его к нормальному borderWidth.

+0

Awesome. Спасибо. Просто нужно больше исследовать это. – RILEY

+0

Должен ли я поместить это в IBAction? Я получаю сообщение об ошибке сборки при попытке запустить этот экземпляр без указания ошибки времени выполнения. – RILEY

0

Что вам нужно сделать, это настроить сегментированный контроль.

Установить границы изображения для segmentedControl для "UIControlStateSelected"

setBackgroundImage:forState:barMetrics: 
Смежные вопросы