From 188e57be4857561e34aa14e63d1da451e94ba977 Mon Sep 17 00:00:00 2001 From: Dmitry Starkov <21260939+starkdmi@users.noreply.github.com> Date: Thu, 22 Feb 2024 20:29:53 +0300 Subject: [PATCH] macOS support --- Package.swift | 4 ++-- README.md | 3 ++- .../CustomizableSegmentedControl.swift | 14 ++++++++------ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Package.swift b/Package.swift index fee7108..3fefaec 100644 --- a/Package.swift +++ b/Package.swift @@ -1,11 +1,11 @@ -// swift-tools-version: 5.8 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "CustomizableSegmentedControl", - platforms: [.iOS(.v14)], + platforms: [.iOS(.v15), .macOS(.v12)], // .tvOS(.v15), .macCatalyst(.v15), .visionOS(.v1) products: [ .library( name: "CustomizableSegmentedControl", diff --git a/README.md b/README.md index 3e4e321..e331338 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,8 @@ If you're bored with standard segmented control, this framework is for you! `Cus # Requirements -- iOS 14.0+ +- iOS 15.0+ +- macOS 12.0+ - Swift 5+ # Installation diff --git a/Sources/CustomizableSegmentedControl/CustomizableSegmentedControl.swift b/Sources/CustomizableSegmentedControl/CustomizableSegmentedControl.swift index 9ff3837..b50d13d 100644 --- a/Sources/CustomizableSegmentedControl/CustomizableSegmentedControl.swift +++ b/Sources/CustomizableSegmentedControl/CustomizableSegmentedControl.swift @@ -107,33 +107,35 @@ extension CustomizableSegmentedControl { Button(action: action) { content .blendModeIfNotNil(contentBlendMode) - .overlay { + .overlay(content: { if let firstLevelOverlayBlendMode { content .blendMode(firstLevelOverlayBlendMode) .accessibilityHidden(true) } - } - .overlay { + }) + .overlay(content: { if let highestLevelOverlayBlendMode { content .blendMode(highestLevelOverlayBlendMode) .accessibilityHidden(true) } - } - .background { + }) + .background(content: { if isSelected { selectionView .transition(.offset()) .matchedGeometryEffect(id: backgroundID, in: namespaceID) } - } + }) .animation(animation, value: isSelected) } .buttonStyle(SegmentButtonStyle(isPressed: $isPressed)) .accessibilityElement(children: .combine) .accessibilityAddTraits(isSelected ? .isSelected : []) + #if os(iOS) .accessibilityRemoveTraits(isSelected ? [] : .isSelected) + #endif .accessibilityValue(accessibiltyValue) }