Skip to content

Releases: Adobels/UIViewKit

Add IBMeasure and create XCFramwork

04 May 08:25
fa2c563
Compare
Choose a tag to compare

New Features:

  1. IBMeasure Namespace:

    • Introduced the IBMeasure namespace for tools that assist in measuring distances between views.
    • Added methods:
      • printVerticalDistance
      • printHorizontalDistance
  2. IBDebug Enhancements:

    • Added a new argument, borderColor, to the IBDebug tool.
    • Updated the static method:
      • showFrames(of:borderColor:includeGivenView:includeUIKitPrivateViews:) to include the new argument.
  3. GitHub Actions Workflow:

    • Added a new workflow, swift-create-sign-upload-xcframework, which builds, signs, and uploads an XCFramework for the release.created trigger.

1.8.0

16 Feb 17:11
f44eb1d
Compare
Choose a tag to compare

What's Changed

  • Split DSL and Kit API to separate Targets by @Adobels in #10

Enhencements:

DSL:

  • Remove auto-naming of constraints generated in iBAttributes.
  • Add support for the ShouldBeArchived property of NSLayoutConstraint.

Kit:

  • Add a UIViewController extension ibSetView to replace the view of the controller.
  • Add UIViewController extensions ibEmbed / ibUnembed to add view controllers and their views to container views.
  • Rename UIViewDebug to IBDebug.
  • IBDebug.showFrames receives default values for includeGivenView and includeUIKitPrivateViews, which are used rarely.

Full Changelog: 1.7.0...1.8.0

Enhancements to DSL Optimization, UIKit, and Previews Add-Ons

28 Nov 22:52
beb85d1
Compare
Choose a tag to compare

DSL

  • Optimize usage of @MainActor to protect constraints to be applied
  • Add tests for UIViewDSL when working from multithreads.

Debugger

  • Add showColors to set backgrounds of subviews to random colors and make them easier to spot.

UIKit

  • Add IBView and IBControl to avoid writing init methods when creating views
  • Add convenience classes like IBScrollView, IBPreviewLabel
  • Add ibSetAsRootView to set views as rootviews of a given controller
  • Add methods to work with container views ibAdd(child:to) and ibRemove(child:) on UIViewController

Previews

  • Add FreeForm Representables for UIView and UIViewController
  • ibConstraints moved from UIView extension to standalone function

Project

  • Add SwiftLint
  • Reorganize files and types
  • Clean up Xcode schemes
  • Set UIViewKitDevelopmentViews as an internal product by commenting it

Improve DSL Experience when working with UIScrollView and other complex UIViews

30 Oct 17:50
6eb6653
Compare
Choose a tag to compare

What's Changed

  • ibSubviews's superview is typed with the parent class, which means it's able to set constraints with a custom UILayoutGuide.
  • Update involvesOwnerView to allow setting constraints between the frame and content of UIScrollView, for example.
  • Add IBView subclass of UIView to avoid overriding init methods in subclasses of UIView.
  • ibAttributes supports all types of syntaxes due to the support of Any? in @NSLayoutConstraintBuilder."
  • Add more unit tests.

Achieved DSL Surface Stability

20 Oct 12:11
cfe796a
Compare
Choose a tag to compare

Achieved DSL Surface Stability

1.4.0

20 Oct 09:14
0a59a9c
Compare
Choose a tag to compare
1.4.0 Pre-release
Pre-release

UIViewDSL:

  • Add Support For Carthage Dependency Manager
  • 'IBConstraints' moved to UIView extension and renamed to 'ibConstraints'
  • Add ViewInCode subclass of UIView to eliminate overriding init(frame:) and init(coder:) methods
  • Add buildExpression for Any? which allows more configurations in 'ibAttributes' like '$0.view1.label?.font = ...'
  • HorizontalStack and VerticalStack were transformed from subclasses of UIStackView to functions to minimize impact on UIKit
  • Add additional tests for the DSL

UIViewDebug:

  • Add showViewsWhichHasAmbiguousLayout which displays an overlay over views with ambiguous layouts.

Previews:

  • Set ACL internal on previews. Xcode 15.0 comes with #Preview macros so at this moment it is privileged to use native solution. Custom previews are under active research and maybe development.

Improve DSL syntax when writing and reading

09 Oct 20:31
9fcc87f
Compare
Choose a tag to compare
  • ibConstraints transformed to global function
  • NSLayoutConstraints.activate renamed to NSLayoutConstraints.ibActivate

API Safeguard Update

05 Oct 18:27
0c158b8
Compare
Choose a tag to compare

In this release, I've made the decision to remove functions ibOutlet with @UIViewBuilder closures APIs to safeguard against potential misuse.

UIViewKit v1.0

01 Oct 21:40
9581a5d
Compare
Choose a tag to compare
v1.0.0

Enhancements, Refactoring, and Fixes for UIViewDSL Component and Asso…

Introduce UIViewDebug Tools

20 Sep 21:17
e594b60
Compare
Choose a tag to compare

What's Changed

  • Introduce UIViewDebug Tools and Address .swiftpm Build Issues on SwiftPackageIndex by @Adobels in #1

New Contributors

Full Changelog: v0.9.0...v0.9.1