Skip to content

Releases: ryanlintott/FrameUp

v0.8.0

04 Jun 03:02
Compare
Choose a tag to compare

Features

  • Added equalWidthPreferred and equalHeightPreferred

Updates

  • Updated to support strict swift concurrency
  • Added privacy manifest
  • Added ability to optionally initialize Alignment from FUAlignment
  • Added convenience init for several layouts to use spacing instead of horizontalSpacing and verticalSpacing
  • Reorganized readme and example app to focus more on modern features, moving older OS features like FULayout to the end.

Bugfixes

  • WidthReader and HeightReader updated to work correctly on device orientation changes for iOS 16 and up.

Full Changelog: 0.7.0...0.8.0

v0.7.0

06 Feb 14:49
75e58e6
Compare
Choose a tag to compare

New Features:

  • Added KeyboardHeight environment value that updates with animation when the software keyboard appears and disappears in iOS

v0.6.3

06 Dec 15:40
Compare
Choose a tag to compare

Bugfixes

  • SmartScrollView onScroll now reports correct edge values on view load.

v0.6.2

05 Dec 23:30
Compare
Choose a tag to compare

Bugfixes for SmartScrollView

  • Content no longer changes id on device orientation change (this used to reset the state of everything inside)
  • SmartScrollView will respond to most available size changes including device orientation changes and re-evaluate sizing correctly.
  • HFlow and other FULayout views should now work correctly inside SmartScrollView without crashing.

v0.6.1

12 Oct 01:31
Compare
Choose a tag to compare
  • Added support for watchOS and tvOS
  • Fixed a bug with LayoutFromFULayout where child views were not given the overall size as the proposal and would sometimes be larger than available space.

v0.6.0

08 Sep 15:46
Compare
Choose a tag to compare

Updated for iOS 17, macOS 14, and visionOS (beta) and added AccessoryInlineImage

  • Added AccessoryInlineImage to adjust any image or symbol so that it can render in the accessory inline widget.
  • Added UIImage extensions scale() and scaledToFit() to adjust images for accessory inline widget.
  • Changed WidgetSize functions sizeForCurrentDevice, sizeForiPhone, sizeForiPad, and sizeForWatch to return nil if a specific size is not known for that widget. Previously they returned zero.
  • Added watch widget sizes to WidgetSize and updated iPhone and iPad widget sizes.

iOS 17

  • Fixed SmartScrollView so that scrollBounceBehavior works as expected in iOS 17

visionOS

  • Added support for visionOS
  • Deprecated FlippingView, TwoSidedView and rotation3DEffect(with back view) with perspective
  • Added TwoSidedVisionOSViewModifier and rotation3DEffect (with back view) to match new visionOS rotation modifier. This modifier is still buggy most likely due to visionOS betas changing

0.5.0

19 May 18:31
2d7ad27
Compare
Choose a tag to compare

macOS support, FUViewThatFits, SwiftUI Layouts, FlippingView and more!

New Features:

  • Added macOS support
  • FUViewThatFits - similar to SwiftUI ViewThatFits but works in older os versions)
  • FULayoutThatFits - similar to FULayoutThatFits but instead picks between different layouts with the same content (and it supports animation).
  • HMasonry and VMasonry now support both vertical and horizontal alignments.
  • All FULayout parameters are now animatable
  • SwiftUI Layout versions of FULayout are now possible. HFlowLayout, VFlowLayout, HMasonryLayout, and VMansonryLayout added.
  • Any FULayout can quickly be made into a SwiftUI Layout using the LayoutFromFULayout` protocol.
  • LayoutThatFits will pick the first Layout that fits with the same content (and it supports animation).
  • Made FULayoutColumn and FULayoutRow public so others can use them in their own FULayout
  • Replaced Alignment with new FUAlignment in FULayout views to allow support for the new .justified alignment.
  • TwoSidedViewModifier added with a new .rotation3DEffect() method that takes a closure for a view to show on the back side of the view.
  • FlippingView added. A two-sided view that can be flipped with taps or swipes.
  • WidgetSize updated for latest devices
  • Accessory widgets added to WidgetSize and WidgetDemoFrame

Changes:

  • TabMenuView renamed to TabMenu
  • Reorganized folders grouping similar elements

Removed:

  • layout parameter removed from HStackFULayout, VStackFULayout, and ZStackFULayout as SwiftUI Layout was not exactly equivalent.

Bugfixes

  • Content offsets no longer use negative values for alignments. This ensures animations between alignments are handled correctly.
  • Selecting tabs is much faster for TabMenu. The reselect option will only be slow if there is also a doubleTap option. This is necessary to detect the difference between the two actions.

Full Changelog: 0.4.2...0.5.0

v0.4.0

15 Sep 20:08
Compare
Choose a tag to compare

New Features:

  • Added FULayout protocol that can build layout views using either VariadicView or a built in .forEach function.
  • Added custom layouts: HMasonry, VMasonry, VStackFULayout, HStackFULayout, and ZStackFULayout.
  • Added a type-erasing AnyLayout.
  • Added FlippingView and TwoSidedView.
  • Added accessibility actions to TabMenuView actions for reselect and double tap.

Changes and fixes:

  • HFlow and VFlow have changed from views to FULayout and now support various alignments.
  • Removed VGridMasonry (use VMasonry FULayout instead)
  • Changed .rotationMatchingOrientation view modifier to AutoRotatingView.
  • Fixed bugs in SmartScrollView
  • Changed SmartScrollView optionalScrolling and shrinkToFit defaults to true.
  • Changed WidgetRelativeShape for iOS 16 so that it no longer makes adjustments on iPads as Apple had fixed the bug that required it.
  • Added widget sizes to align with Apple's latest size specifications.
  • Fixed TabMenuView onReselect and onDoubleTap to use NamedAction instead of just a closure so they can support accessibility actions.
  • Fixed TabMenuView onReselect so it won't trigger alongside onDoubleTap.
  • Changed TabMenuView onDoubleTap so it only works on the selected tab.
  • Removed FixWidgetPreviewAlignmentBug as it is no longer an issue in Xcode.

v0.3.0

23 May 22:23
Compare
Choose a tag to compare
  • Added rotationMatchingOrientation view modifier
  • Added experimental VGridMasonry for Pinterest-style view arrangements.

v0.2.8

31 Jan 16:18
Compare
Choose a tag to compare

Added .relativePadding() extension to View.