- Support
Xcode 16
- Support
Xcode 15
- Replaced
CarthagewithSPM - Removed
Presentationdependency references from project - Removed conditionally compiled code wrapped in
#if canImport(Presentation). The removed code can be added by integrators directly if needed using this diff
- Bug fix for a TableKit update issue #182
- Xcode 13.2 compatibility
- Include all views, not just sections, in the accessibility elements of a FormView.
- Improved the accessibility of
FormViewby making it an accessibility container comprising the visible rows from each of its visible sections.
- Added (backwards compatible) support for supplying an
accessibilityValuetoValueFieldthroughTextEditor.
- Xcode 13.0 compatibility
- Xcode 12.5 compatibility
- Xcode 12.4 compatibility
- Added: Support for empty values in NumberEditor (#165).
- Added: Highlight the text in ValueField when shouldResetOnInsertion is enabled (#160).
- Bugfix:
ValueField.shouldResetOnInsertionhas no effect for max length values (#158).
- Added: Support for .insetGrouped
- Bugfix: Prevent indefinite looping when pinning views to both the top and bottom of a scroll view.
- Change:
ValueField: clear the.shouldResetOnInsertionflag when deleting characters.
- Added:
.shouldResetOnInsertiontoValueField. - Added:
reset(),defaultValue, and.shouldResetOnInsertionto theTextEditorprotocol (breaking change). - Changed: Removed deprecated symbols.
- Added: Swift 5.2 support
- Bugfix: Remove circular reference from ParentChildRelational
- Added: Optional
adjustsFontForContentSizeCategoryproperty to specify on a TextStyle
- Bugfix: Prevent corner case tablekit crash when the table is updated while reloading the view
- Bugfix: Prevent TableKit scrolling on row selection when no rows are visible (see #145).
- Bugfix: Re-apply form style to table cell backgrounds when reusing them and reloading data
- Improvement: Improved size class handling to better support iPad multitasking, removed all hard references to device type.
- Bugfix: Fix issue with
scrollToRevealFirstResponder(#122)
- Bugfix: Fixed a bug where
ButtonStateStyle.initwas wrongfully failable, which could lead to buttons not receiving their text style.
- Added: Support for Swift Package Manager
- Change: Deprecate registerViewForSupplementaryElement and add a new one that works with UICollectionView headers and footers
- Change: Bump the minimum required version of Presentation to 1.9.0
- Added: New initializers for RowsSelection that works with the latest version of Presentation framework. The old one is deprecated.
- Change: Removed deprecated functions, symbols etc.
- Bugfix: Fixed scroll-to-top not working correctly.
- Addition: Add new initializers for TableKit and CollectionKit that have an explicit
holdInparameter to keep subscriptions. - Change: Change the deprecation warning of TableKit and CollectionKit initializers to point to the new ones
- Change: Remove Objective-C utilities function and use a designatyed type for the section segment background style.
- Bugfix: Fix issue with ui refresh deadlock
- Change: Deprecated
thinestLineWidth, which has been renamed tohairlineWidth.
- Bugfix: Fix table section header/footer height calculation on iOS 10
- Bugfix: Fix scrollview top pinning on iOS 11 and later where currently if the scrollview is in a navigation controller there is a gap between the scrollview top and the pinned view
- Bugfix: Apply view styling based on initial trait collection to prevent bugs where styling is not applied if the initial trait collection did not change
TableKitandCollectionKitdo no longer require the passing of a bag to their initializers. This means that the life-time of a kit instance is no longer kept alive by a provided bag. For most usages that should not change the behaviour but if the kit is prematurely deallocted you can always explicity hold on to itbag.hold(kit).TableKit's andCollectionKit's initializers taking a bag parameter have been deprecated. Instead use the new initializers introduced above.
- Bugfix: fix pinning a view to a scrollview on iOS 9 and 10 (issue #104)
- Layout fix: properly layout multiline row view titles
- Bugfix: Make sure to remove the old empty state view from a table after setting a new empty state view #99.
- Add minimum scale factor to TextStyle. When a custom value is set that can also affect other controls using TextStyle, e.g UIButton.
- Migrate to swift 5
- Bugfix: Fix UILabel styling bug when a styled label's text is set to nil and then updating its value does nothing.
- Adds new
HeaderFooterReusableprotocol to allow providing separateReusabletypes for rendering a section's header and footer. - Adds letter spacing and line height to
TextStyle. - Adds target offset to
willEndDraggingsignal ofScrollViewDelegate. - Adds will display cell signal to
CollectionViewDelegate.
- Performace. Added custom
countimplementation forTableSectionto improve performance of e.g.Table.isValidIndexthat might be called a lot for large tables.
- Bugfix: Setting
tabledireclty onTableKitorCollectionKitdid not reload the view correctly with the updated table.
- Bugfix: Fix layout problem caused by pinning a view to UITransitionView that is no longer shown on iOS 9/10
- Bugfix: Activate constraints before calls to layoutIfNeeded to prevent crashes on iOS 9/10 when embedding views in a scrollView
- Add sizeForItemAt for CollectionViewDelegate
- Bugfix: Fix table view cells reorder control position to respect insets
- Add optional preferred minimum size to ButtonStyle
- Fix a bug that avoids the crash when styling is tried on UITableViewCell that was created without the associated variable
- Revert a fix for
estimatedSectionHeaderHeight/estimatedSectionFooterHeightthat caused bug in Form insets. - Fix cell background missing issue when inserting cell on iOS 9
- Added
TextFieldDelegatesimilar toScrollViewDelegateand friends. - Added
UITextFieldandUIScrollViewinstall()delegate helpers. - Added remaining methods to
ScrollViewDelegete. - Added
GestureRecognizerDelegate. - Fixed a bug in
UIScrollView.adjustContentOffsetfor scrollviews with a non-zeroframe.origin.y.
- Bugfix: Remove hardcoded value used for determing smallest resizable image size causing not smooth borders of rounded images
- Bugfix: Fix a bug where highligted segment turns gray if it's also selected
- Bugfix: Add extra space to the resizable image rect to prevent the border taking the whole image
- Bugfix: Fixed issue where update indices in
TableChangeandChangeStepwere specified in the new array rather than the orignal array - Bugfix: Fixed crash in UICollectoinView when animating section and row changes at the same time
- Bugfix: Make sure
[animated keyPath:]is animated with.allowUserInteraction.
- Bugfix: Fixed issue where out of range
UIViewAnimationCurveenum values caused a crash running on Xcode 10 and iOS 12. - Bugfix:
TextStyle: Don't change text color on highlight ifhighlightedColoris not set explicitly. - Bugfix: Updated
ValueFieldto postUITextFieldnotifications to better participate in e.g. keyboard avoidance.
-
Added reordering delegate
reorderingtoCollectionViewDelegate. -
Added
apply(changes:)toMutableCollection,TableKitandCollectionKit. -
Fixed a
TableKitcrash on iOS 9. -
Fixed a compiler "unable to type-check this expression in reasonable time" on Swift 4.2.
-
Added
reuseIdentifierto theReusableprotocol to allow better handling of tables with mixed types. -
Added
Eitherconditional conformance toReusablewhenLeftandRightconforms toReusable. -
Added alternative helper type
MixedReusablethat can be used instead ofEitherfor tables with mixed types. -
Extended the Demo sample with examples show-casing using tables with mixed types.
-
Added new table and collection view overloads of dequeueCell taking a re-configure closure.
-
Added didEndDisplayingCell signal to TableViewDelegate
-
Deprecating
EitherRow, replaced by using FlowsEitherinstead -
Deprecating
dequeueCell(forItem:, style:, reuseIdentifier:), replaced by version not using explicitreuseIdentifier -
Fixed issue where Reusable configure was called instead of reconfigure when rows was updated.
-
Bugfix: Updated TableKit to release the a cell's bag once the cell ends displaying or the TableKit's bag is being disposed.
- Adds a ScrollViewDelegate class implementing the UIScrollViewDelegate protocol
- Updates NumberEditor to handle entering and editing of negative value
- Disables autocorrection for ValueField by defualt
- Adds a new API for providing view for empty table view state which pins it to the edges of the table view. The old API that is using hardcoded insets and doesn't pin all edges is now deprecated.
- Fixes a bug with
installview(s) into scroll views where the content fits but the scroll view still won't scroll even though `InstallOptions.disableScrollingIfContentFits`` was not provided. - Deprecated disableScrollingIfContentFits() as this is better supported by UIScrollViews's alwaysBounceVertical = false
- Fixes a bug in SelectView where tapping inside but releasing outside would call the callback or find first responder`.
- Fixes bug where SectionView's rows minHeight constraint would not be set up correctly when some rows are hidden.
- Updated podspec to allow using features behind canImport(Presentation)
This is the first public release of the Form library.