NSSegmentedControl
ツールバーに があります。セグメントは永続的な選択ではなく、ボタンのように機能するように見えるため、モードは「一時的」に設定されています。
有効にするためのルール:
- コンテンツを選択すると、3 つのセグメントすべてが有効になります。
- コンテンツが選択されていない場合は、最後のコンテンツのみを有効にする必要があります。
したがって、コントロール全体を無効にすることはできませんが、一部のセグメントのみを無効にします。
let enabled = hasSelection()
AddDimensionSegmentedControl.contextualSegments // = (0...1)
.forEach { (segment: Int) in
self.setEnabled(enabled, forSegment: segment)
}
それはこれまでのところ非常にうまく機能します:
ただし、無効なセグメントをクリックして、選択モードでなくても選択することはできます
私が試したこと:
- 選択が変更されたら、セグメントを再度選択解除します
- ツールバーが検証されたら、設定します
selectedSegment = -1
それでも、無効に見える選択はそのままです。何か案は?