Skip to content

Commit

Permalink
Release 0.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
rwbutler committed Aug 7, 2019
1 parent 1b63366 commit 0ee0950
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 10 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Expand Up @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.0.1] - 2018-08-06
## [0.2.0] - 2018-08-07
### Added
- Support for Swift Package Manager when using Xcode 11.

## [0.1.0] - 2018-08-06
### Added
- A UICollectionView grid layout designed to support Dynamic Type by allowing the height of each row to size to fit content.
2 changes: 1 addition & 1 deletion FlexibleRowHeightGridLayout.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'FlexibleRowHeightGridLayout'
s.version = '0.1.0'
s.version = '0.2.0'
s.swift_version = '5.0'
s.summary = 'A UICollectionView grid layout designed to support Dynamic Type by allowing the height of each row to size to fit content.'

Expand Down
21 changes: 21 additions & 0 deletions Package.swift
@@ -0,0 +1,21 @@
// swift-tools-version:5.1
import PackageDescription

let package = Package(
name: "FlexibleRowHeightGridLayout",
platforms: [
.iOS("8.0")
],
products: [
.library(
name: "FlexibleRowHeightGridLayout",
targets: ["FlexibleRowHeightGridLayout"]
)
],
targets: [
.target(
name: "FlexibleRowHeightGridLayout",
path: "FlexibleRowHeightGridLayout/Classes"
)
]
)
116 changes: 108 additions & 8 deletions README.md
Expand Up @@ -10,28 +10,128 @@
FlexibleRowHeightGridLayout is a `UICollectionViewLayout` which lays out self-sizing cells in a grid and is designed to support accessibility, in particular, [Dynamic Type](https://developer.apple.com/documentation/uikit/uifont/scaling_fonts_automatically). It is designed to automatically re-layout with changes in text size on the device (`UIContentSizeCategory`). Row heights are flexible with this layout i.e. each row may have different height where the height of the row is determined by the tallest cell in the row so that the row height will always fit the content within the row.

<div align="center">
<img src="https://github.com/rwbutler/FlexibleRowHeightGridLayout/raw/master/docs/images/flexible-row-heights.png" alt="Illustration of flexible row heights">
<img width="414" height="438" src="https://github.com/rwbutler/FlexibleRowHeightGridLayout/raw/master/docs/images/flexible-row-heights.png" alt="Illustration of flexible row heights">
</div>

## Example
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Cocoapods](#cocoapods)
- [Carthage](#carthage)
- [Swift Package Manager](#swift-package-manager)
- [Usage](#usage)
- [Author](#author)
- [License](#license)
- [Additional Software](#additional-software)
- [Frameworks](#frameworks)
- [Tools](#tools)

To run the example project, clone the repo, and run `pod install` from the Example directory first.
## Features

- [x] Grid layout supporting changes in text size - will automatically re-layout with changes in `UIContentSizeCategory` ([Dynamic Type](https://developer.apple.com/documentation/uikit/uifont/scaling_fonts_automatically)).
- [x] Supports self-sizing [UICollectionViewCells](https://developer.apple.com/documentation/uikit/uicollectionviewcell).

## Requirements

FlexibleRowHeightGridLayout is written in Swift 5.0 and is available on iOS 8.0 or higher.

## Installation

FlexibleRowHeightGridLayout is available through [CocoaPods](https://cocoapods.org). To install
it, simply add the following line to your Podfile:
### Cocoapods

[CocoaPods](http://cocoapods.org) is a dependency manager which integrates dependencies into your Xcode workspace. To install it using [Ruby gems](https://rubygems.org/) run:

```bash
gem install cocoapods
```

To install FlexibleRowHeightGridLayout using Cocoapods, simply add the following line to your Podfile:

```ruby
pod "FlexibleRowHeightGridLayout"
```

Then run the command:

```ruby
pod 'FlexibleRowHeightGridLayout'
pod install
```

For more information [see here](https://cocoapods.org/#getstarted).

### Carthage

Carthage is a dependency manager which produces a binary for manual integration into your project. It can be installed via [Homebrew](https://brew.sh/) using the commands:

```bash
brew update
brew install carthage
```

In order to integrate FlexibleRowHeightGridLayout into your project via Carthage, add the following line to your project's Cartfile:

```ogdl
github "rwbutler/FlexibleRowHeightGridLayout"
```

From the macOS Terminal run `carthage update --platform iOS` to build the framework then drag `FlexibleRowHeightGridLayout.framework` into your Xcode project.

For more information [see here](https://github.com/Carthage/Carthage#quick-start).

### Swift Package Manager

Xcode 11 includes support for [Swift Package Manager](https://swift.org/package-manager/). In order to add FlexibleRowHeightGridLayout to to your project in Xcode 11, from the `File` menu select `Swift Packages` and then select `Add Package Dependency`.

A dialogue will request the package repository URL which is:

```
https://github.com/rwbutler/FlexibleRowHeightGridLayout
```

After verifying the URL, Xcode will prompt you to select whether to pull a specific branch, commit or versioned release into your project.


Proceed to the next step by where you will be asked to select the package product to integrate into a target. There will be a single package product named `FlexibleRowHeightGridLayout` which should be pre-selected. Ensure that your main app target is selected from the rightmost column of the dialog then click Finish to complete the integration.

## Author

Ross Butler
[Ross Butler](https://github.com/rwbutler)

## License

FlexibleRowHeightGridLayout is available under the MIT license. See the LICENSE file for more info.
FlexibleRowHeightGridLayout is available under the MIT license. See the [LICENSE file](./LICENSE) for more info.

## Additional Software

### Controls

* [AnimatedGradientView](https://github.com/rwbutler/AnimatedGradientView) - Powerful gradient animations made simple for iOS.

|[AnimatedGradientView](https://github.com/rwbutler/AnimatedGradientView) |
|:-------------------------:|
|[![AnimatedGradientView](https://raw.githubusercontent.com/rwbutler/AnimatedGradientView/master/docs/images/animated-gradient-view-logo.png)](https://github.com/rwbutler/AnimatedGradientView)

### Frameworks

* [Cheats](https://github.com/rwbutler/Cheats) - Retro cheat codes for modern iOS apps.
* [Connectivity](https://github.com/rwbutler/Connectivity) - Improves on Reachability for determining Internet connectivity in your iOS application.
* [FeatureFlags](https://github.com/rwbutler/FeatureFlags) - Allows developers to configure feature flags, run multiple A/B or MVT tests using a bundled / remotely-hosted JSON configuration file.
* [FlexibleRowHeightGridLayout](https://github.com/rwbutler/FlexibleRowHeightGridLayout) - A UICollectionView grid layout designed to support Dynamic Type by allowing the height of each row to size to fit content.
* [Skylark](https://github.com/rwbutler/Skylark) - Fully Swift BDD testing framework for writing Cucumber scenarios using Gherkin syntax.
* [TailorSwift](https://github.com/rwbutler/TailorSwift) - A collection of useful Swift Core Library / Foundation framework extensions.
* [TypographyKit](https://github.com/rwbutler/TypographyKit) - Consistent & accessible visual styling on iOS with Dynamic Type support.
* [Updates](https://github.com/rwbutler/Updates) - Automatically detects app updates and gently prompts users to update.

|[Cheats](https://github.com/rwbutler/Cheats) |[Connectivity](https://github.com/rwbutler/Connectivity) | [FeatureFlags](https://github.com/rwbutler/FeatureFlags) | [Skylark](https://github.com/rwbutler/Skylark) | [TypographyKit](https://github.com/rwbutler/TypographyKit) | [Updates](https://github.com/rwbutler/Updates) |
|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|
|[![Cheats](https://raw.githubusercontent.com/rwbutler/Cheats/master/docs/images/cheats-logo.png)](https://github.com/rwbutler/Cheats) |[![Connectivity](https://github.com/rwbutler/Connectivity/raw/master/ConnectivityLogo.png)](https://github.com/rwbutler/Connectivity) | [![FeatureFlags](https://raw.githubusercontent.com/rwbutler/FeatureFlags/master/docs/images/feature-flags-logo.png)](https://github.com/rwbutler/FeatureFlags) | [![Skylark](https://github.com/rwbutler/Skylark/raw/master/SkylarkLogo.png)](https://github.com/rwbutler/Skylark) | [![TypographyKit](https://raw.githubusercontent.com/rwbutler/TypographyKit/master/docs/images/typography-kit-logo.png)](https://github.com/rwbutler/TypographyKit) | [![Updates](https://raw.githubusercontent.com/rwbutler/Updates/master/docs/images/updates-logo.png)](https://github.com/rwbutler/Updates)

### Tools

* [Config Validator](https://github.com/rwbutler/ConfigValidator) - Config Validator validates & uploads your configuration files and cache clears your CDN as part of your CI process.
* [IPA Uploader](https://github.com/rwbutler/IPAUploader) - Uploads your apps to TestFlight & App Store.
* [Palette](https://github.com/rwbutler/TypographyKitPalette) - Makes your [TypographyKit](https://github.com/rwbutler/TypographyKit) color palette available in Xcode Interface Builder.

|[Config Validator](https://github.com/rwbutler/ConfigValidator) | [IPA Uploader](https://github.com/rwbutler/IPAUploader) | [Palette](https://github.com/rwbutler/TypographyKitPalette)|
|:-------------------------:|:-------------------------:|:-------------------------:|
|[![Config Validator](https://raw.githubusercontent.com/rwbutler/ConfigValidator/master/docs/images/config-validator-logo.png)](https://github.com/rwbutler/ConfigValidator) | [![IPA Uploader](https://raw.githubusercontent.com/rwbutler/IPAUploader/master/docs/images/ipa-uploader-logo.png)](https://github.com/rwbutler/IPAUploader) | [![Palette](https://raw.githubusercontent.com/rwbutler/TypographyKitPalette/master/docs/images/typography-kit-palette-logo.png)](https://github.com/rwbutler/TypographyKitPalette)

0 comments on commit 0ee0950

Please sign in to comment.