Skip to content

Releases: rechsteiner/Parchment

v3.0.0-beta2

28 Sep 17:24
a44d39e
Compare
Choose a tag to compare
v3.0.0-beta2 Pre-release
Pre-release

Fixed an issue building due to missing imports #526

v3.0.0-beta

02 Sep 19:03
d74a9bf
Compare
Choose a tag to compare
v3.0.0-beta Pre-release
Pre-release

This is pre-release for version 3.0. See #452 for more details on changes.

v2.4.0

01 Jun 11:11
af4c977
Compare
Choose a tag to compare
  • Fix PagingTitleCell label horizontal constraints (#480)
  • Fix regression causing menuInteraction property not to work properly (#486)
  • Reload data when updating paging items in SwiftUI (#470)

v2.3.0

02 Apr 19:34
86146bd
Compare
Choose a tag to compare
  • Add support for SwiftUI (#460)
  • Add support for self-sizing menu cells (#461)
  • Handle menu background color change after viewDidLoad (#465)

v2.2.0

21 Mar 15:32
8083728
Compare
Choose a tag to compare
  • Add delegate method when selecting item (#450)
  • Update menu constraints when menuItemSize changes (#449)

v2.1.0

11 Mar 20:55
f6308b4
Compare
Choose a tag to compare
  • Add option to position menu vertically (#412)
  • Combine all example targets into single target (#442)
  • Fix missing import causing SwiftPM to fail (#420)
  • Fix memory leak occurring when configuring size cache (#433)
  • Fix issue with initial selection not being set (#438)
  • Fix regression causing indicator not to animate (#441)
  • Fix issues with invalidation of size cache (#444)

v2.0.1

08 Feb 15:26
df23f4f
Compare
Choose a tag to compare
  • Remove unused file that was supposed to be removed in #304.

v2.0.0

08 Feb 14:52
dea1fe1
Compare
Choose a tag to compare

This version introduces a couple of breaking changes that are outlined below. If you're having issues upgrading or you see other breaking changes that are not outlined below, please let us know. More details about the release can be found here: #243.

Removed FixedPagingViewController

FixedPagingViewController has been removed. You can now initialize PagingViewController directly with an array of view controllers.

-FixedPagingViewController(viewControllers: viewControllers)
+PagingViewController(viewControllers: viewControllers)

Removed generics (#285)

PagingViewController is not longer generic on the PagingItem type. This means that all places where you previously had to specify the generic type, or cast to generic type, can be removed.

-PagingViewController<CalendarItem>()
+PagingViewController()
-func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemForIndex index: Int) -> T {
-  return PagingIndexItem(index: index, title: cities[index]) as! T
-}
+func pagingViewController(_: PagingViewController, pagingItemAt index: Int) -> PagingItem {
+  return PagingIndexItem(index: index, title: cities[index])
+}

Moved size delegate into separate protocol

The widthForPagingItem delegate method have been moved out of the PagingViewControllerDelegate and into a separate protocol called PagingViewControllerSizeDelegate. You now need to set the sizeDelegate property on PagingViewController:

-pagingViewController.delegate = self
+pagingViewController.sizeDelegate = self

Replaced menuItemSource with register(cellClass:)

The menuItemSource property for customizing the cell type has been removed. Instead you can customize the cell type for a given PagingItem by using register(cellClass:) and register(nib:). The benefit of this approach is that we can support multiple cell types in the same menu (#390).

- pagingViewController.menuItemSource = .class(type: CalendarPagingCell.self)
+ pagingViewController.register(CalendarPagingCell.self, for: CalendarItem.self)

Updated naming of data sources

As well as removing generics from the data sources, the naming has also been updated to be a bit more Swift-y.

protocol PagingViewControllerDataSource: class {
-  func numberOfViewControllers<T>(in pagingViewController: PagingViewController<T>) -> Int
+  func numberOfViewControllers(in pagingViewController: PagingViewController) -> Int
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, viewControllerForIndex index: Int) -> UIViewController
+  func pagingViewController(_: PagingViewController, viewControllerAt index: Int) -> UIViewController
- func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemForIndex index: Int) -> T
+  func pagingViewController(_: PagingViewController, pagingItemAt index: Int) -> PagingItem
}

protocol PagingViewControllerInfiniteDataSource: class {
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, viewControllerForPagingItem: T) -> UIViewController
+  func pagingViewController(_: PagingViewController, viewControllerFor pagingItem: PagingItem) -> UIViewController
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemBeforePagingItem: T) -> T?
+  func pagingViewController(_: PagingViewController, itemBefore pagingItem: PagingItem) -> PagingItem?
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemAfterPagingItem: T) -> T?
+  func pagingViewController(_ : PagingViewController, itemAfter pagingItem: PagingItem) -> PagingItem?
}

v2.0.0-beta

17 Nov 15:52
86f9097
Compare
Choose a tag to compare
v2.0.0-beta Pre-release
Pre-release

Please help test this release and let us know if you find any issues! This version introduces a couple of breaking changes that are outlined below. If you're having issues upgrading or you see other breaking changes that are not outlined below, please let us know. More details about the release can be found here: #243.

Removed FixedPagingViewController

FixedPagingViewController has been removed. You can now initialize PagingViewController directly with an array of view controllers.

-FixedPagingViewController(viewControllers: viewControllers)
+PagingViewController(viewControllers: viewControllers)

Removed generics (#285)

PagingViewController is not longer generic on the PagingItem type. This means that all places where you previously had to specify the generic type, or cast to generic type, can be removed.

-PagingViewController<CalendarItem>()
+PagingViewController()
-func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemForIndex index: Int) -> T {
-  return PagingIndexItem(index: index, title: cities[index]) as! T
-}
+func pagingViewController(_: PagingViewController, pagingItemAt index: Int) -> PagingItem {
+  return PagingIndexItem(index: index, title: cities[index])
+}

Moved size delegate into separate protocol

The widthForPagingItem delegate method have been moved out of the PagingViewControllerDelegate and into a separate protocol called PagingViewControllerSizeDelegate. You now need to set the sizeDelegate property on PagingViewController:

-pagingViewController.delegate = self
+pagingViewController.sizeDelegate = self

Replaced menuItemSource with register(cellClass:)

The menuItemSource property for customizing the cell type has been removed. Instead you can customize the cell type for a given PagingItem by using register(cellClass:) and register(nib:). The benefit of this approach is that we can support multiple cell types in the same menu (#390).

- pagingViewController.menuItemSource = .class(type: CalendarPagingCell.self)
+ pagingViewController.register(CalendarPagingCell.self, for: CalendarItem.self)

Updated naming of data sources

As well as removing generics from the data sources, the naming has also been updated to be a bit more Swift-y.

protocol PagingViewControllerDataSource: class {
-  func numberOfViewControllers<T>(in pagingViewController: PagingViewController<T>) -> Int
+  func numberOfViewControllers(in pagingViewController: PagingViewController) -> Int
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, viewControllerForIndex index: Int) -> UIViewController
+  func pagingViewController(_: PagingViewController, viewControllerAt index: Int) -> UIViewController
- func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemForIndex index: Int) -> T
+  func pagingViewController(_: PagingViewController, pagingItemAt index: Int) -> PagingItem
}

protocol PagingViewControllerInfiniteDataSource: class {
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, viewControllerForPagingItem: T) -> UIViewController
+  func pagingViewController(_: PagingViewController, viewControllerFor pagingItem: PagingItem) -> UIViewController
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemBeforePagingItem: T) -> T?
+  func pagingViewController(_: PagingViewController, itemBefore pagingItem: PagingItem) -> PagingItem?
-  func pagingViewController<T>(_ pagingViewController: PagingViewController<T>, pagingItemAfterPagingItem: T) -> T?
+  func pagingViewController(_ : PagingViewController, itemAfter pagingItem: PagingItem) -> PagingItem?
}

v1.7.0

26 Sep 17:37
c04fce7
Compare
Choose a tag to compare
  • Update to Swift 5 and Xcode 10.2 #339
  • Fix issue changing selection when view is not visible #371
  • Fix unbalanced appearance transitions #373
  • Fix issues when compiled as SPM dependency (Xcode 11) (#386)
  • Add support for Accio as dependency manager #345