2016-06-16 5 views
1

У меня есть NSSegmentedControl на панели инструментов. Его режим установлен на «мгновенный», потому что сегменты должны работать как кнопки, а не как постоянные выделения.NSSegmentedControl сегментирует выбранное событие, хотя отключено

Правила обеспечения:

  • При выборе содержания, все 3 сегмента должны быть включены.
  • Если контент не выбран, необходимо включить только последний.

Поэтому я не могу отключить весь элемент управления, но только некоторые сегменты.

let enabled = hasSelection() 

AddDimensionSegmentedControl.contextualSegments // = (0...1) 
    .forEach { (segment: Int) in 
     self.setEnabled(enabled, forSegment: segment) 
} 

Это работает очень хорошо до сих пор:

disabling works

Но я все еще могу нажать на сегменты с ограниченными физическими возможностями и их выбирают, даже если это не режим выбора

enter image description here

Что я пробовал:

  • при изменении выделения, снимите сегмент снова
  • , когда панель инструментов проверяет, установлен selectedSegment = -1

Еще инвалидов выглядящий выбор остается в такте. Есть идеи?

ответ

0

Кто-то указал что-то в чате, и вот решение, которое я нашел: вы должны отключить NSToolbarItem, который представляет сегмент и сам сегмент.

Если у вас есть только 1 NSToolbarItem, который содержит NSSegmentedControl вместо NSToolbarItemGroup, вам, возможно, не придется этого делать.