Gridicons-iOS is a small framework which produces images of the Gridicons icon set.
The framework can be installed either via CocoaPods:
pod 'Gridicons', :podspec => 'https://raw.github.com/Automattic/Gridicons-iOS/develop/Gridicons.podspec'
or Carthage:
github 'Automattic/Gridicons-iOS'
First, import the framework:
import Gridicons
Getting a UIImage of a Gridicon is as simple as:
let icon = UIImage.gridicon(.pages)
With type inference, this can be shortened further:
icon = .gridicon(.pages)
You can optionally specify a size (default is 24 x 24):
let icon = UIImage.gridicon(.pages, size: CGSize(width: 100, height: 100))
The images that the framework produces use the AlwaysTemplate rendering mode, so you can tint them however you like.
For SwiftUI projects (iOS 13.0+), you can use the Image type directly:
import SwiftUI
import Gridicons
struct ContentView: View {
var body: some View {
Image.gridicon(.pages)
.foregroundStyle(.orange) // Tints the icon
}
}The SwiftUI Image type also supports the template rendering mode, so you can tint it using the foregroundStyle modifier.
For code changes in GridiconsGenerated.swift:
- Edit the
Gridicons.stencilfile to modify the template - If you haven't already, run
rake dependenciesto install SwiftGen - Run
rake gento regenerate theGridiconsGenerated.swiftfile
To add new icons as they're added to the Gridicons icon set, complete the following steps:
- Add the icon from the
pdfdirectory in the main Gridicons project to theGridicons.xcassetscatalog in this project - Rename the icon so it no longer has the
gridicons-prefix - Select the icon in the asset catalog and change these settings:
- Render As -> Template Image
- Resizing -> Preserve Vector Data
- Scales -> Single Scale
- If you haven't already, run
rake dependenciesto install SwiftGen - Run
rake gento regenerate theGridiconsGenerated.swiftfile - Commit your changes and release a new pod version.
If you need to update a existing icon, update the PDF in the asset catalog with the new version and release a new pod version.
Gridicons-iOS is licensed under GNU General Public License v2 (or later).