diff --git a/CHANGELOG.md b/CHANGELOG.md index f70c0fe..eaa142c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ## Next +- Add SwiftUI extension `View+FrameSize` ([#153](https://github.com/AckeeCZ/ACKategories/pull/153), kudos to @lukashromadnik) - Add `readSize` and `readFrame` to SwiftUI views ([#150](https://github.com/AckeeCZ/ACKategories/pull/150), kudos to @olejnjak) - Add `WithLayoutMargins` to SwiftUI extensions ([#150](https://github.com/AckeeCZ/ACKategories/pull/151), kudos to @komkovla) diff --git a/Sources/ACKategories/SwiftUIExtensions/View+FrameSize.swift b/Sources/ACKategories/SwiftUIExtensions/View+FrameSize.swift new file mode 100644 index 0000000..e1433aa --- /dev/null +++ b/Sources/ACKategories/SwiftUIExtensions/View+FrameSize.swift @@ -0,0 +1,17 @@ +import SwiftUI + +@available(iOS 13, macOS 10.15, tvOS 13.0, watchOS 6.0, *) +extension View { + + public func frame(size: CGSize) -> some View { + assert(size.width.isFinite) + assert(size.width >= 0) + assert(size.height.isFinite) + assert(size.height >= 0) + return frame(width: size.width, height: size.height) + } + + public func frame(size: CGSize, alignment: Alignment) -> some View { + frame(width: size.width, height: size.height, alignment: alignment) + } +}