Partition Kit
Recently Featured In Top 10 Trending Android and iOS Libraries in October and in 5 iOS libraries to enhance your app!
If you liked this library then you have got to check out my follow up Interact
What is PartitionKit?
- It is the solution to the need for composable and dynamically sized user interface content in SwiftUI.
- also the first piece of software I have ever made into a library so please be gentle(both with use cases and with my heart).
What PartitionKit is not ?
- PartitionKit is not a means to work with an form of stored data, this is not for partitioning hard drives or any other type of formattable data drive.
Requirements
PartitionKit as a default requires the SwiftUI Framework to be operational, as such only these platforms are supported:
- macOS 10.15 or Greater
- iOS 13 or Greater
- tvOS 13 or Greater
- watchOS 6 or Greater
How To Add To Your Project
- Snag that URL from the github repo
- In Xcode -> File -> Swift Packages -> Add Package Dependencies
- Paste the URL Into the box
- Specify the minimum version number (This is new so 0.0.0 and greater will work).
How To Use
Vertical Partition
- Decide on what view you would like to have on
Top
, which you would like to have on theBottom
and optionally aHandle
to be used to drag the partitions to different sizes. - Do This
Horizontal Partition
- Decide on what view you would like to have on
Left
, which you would like to have on theRight
and optionally aHandle
to be used to drag the partitions to different sizes. - Do This
GridPartition
- Decide on what Views will go in each corner
TopLeft
,TopRight
,BottomLeft
,BottomRight
and optionally aHandle
for the user to drag and resize the views with. - Do this
Examples
Copy and Paste this I have added Named pictures for how the views should look, Im using dark mode so light mode colors may look different.
HPart | VPart | GridPart | NestGrids | Mixed |
---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Todo
- Add in constraints so that partitions will not cause negative frame values that invert the views when the handle is dragged beyond the frame of the container
- Add more customizability to initial layouts
- Add a
List
Style grid collection layout that can be initiated with a list of Identifiable data elements. - General cleanup, some stuff was not meant to be left in, i will find it at some point.