/SwiftIconFont

Icons fonts for iOS (Font Awesome 5, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon, Foundation 3, Elegant Icon, Captain Icon)

Primary LanguageSwiftMIT LicenseMIT

SwiftIconFont Banner

Issues Forks Stars Build Status Version License Platform Carthage compatible Reviewed by Hound

Installation

SPM

Not yet supported. Please use Cocoapods or Carthage

Carthage

github "segecey/SwiftIconFont"

Cocoapods

CocoaPods is a dependency manager for Cocoa projects.

You can install it with the following command:

gem install cocoapods

To integrate SwiftIconFont into your Xcode project using CocoaPods, specify it in your Podfile:

use_frameworks!

pod 'SwiftIconFont'

Example

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

Prefixes

Font Prefix Cheat Sheet
Font Awesome 5 fa5: List
Font Awesome 5 Brand fa5b: List
Font Awesome 5 Solid fa5s: List
Ion Icons io: List
Octicons oc: List
Open Iconic ic: List
Material Icon ma: List
Themify ti: List
Map Icons mi: List
Segoe MDL2 sm: List
Foundation 3 fo: List
Elegant Icon el: List
Captain cp: Please check example project.

Fonts

public enum Fonts: String {
    case fontAwesome5 = "FontAwesome5Free-Regular"
    case fontAwesome5Brand = "FontAwesome5Brands-Regular"
    case fontAwesome5Solid = "FontAwesome5Free-Solid"
    case iconic = "open-iconic"
    case ionicon = "Ionicons"
    case octicon = "octicons"
    case themify = "themify"
    case mapIcon = "map-icons"
    case materialIcon = "MaterialIcons-Regular"
    case segoeMDL2 = "Segoe mdl2 assets"
    case foundation = "fontcustom"
    case elegantIcon = "ElegantIcons"
    case captain = "captainicon"
}

Storyboard

SwiftIconFont Banner

Runtime Structure

< Prefix >:< Icon >

Usage

In your UILabel, UIButton or UITextField, set a text containing a placeholder anywhere you want the icon to be. Somethink like this

oc:logo-github

Then you can choose between 3 ways you can use SwiftIconFont.

1. Without Custom Class

Simply import SwiftIconFont and call processIcons on any UILabel, UIButton or UITextField that has a placeholder.

label.parseIcon()

2. Custom Class

The lazy way, just set your UILabel, UITextField, UIButton, UITextView, UIBarButtonItem class as SwiftIconLabel, SwiftIconTextField, SwiftIconButton, SwiftIconTextView, SwiftBarButtonItem, and thats it, your icons will be processed at runtime.

3. Programmatically

import SwiftIconFont

label.font = UIFont.icon(from: .fontAwesome5, ofSize: 50.0)
label.text = String.fontAwesome5Icon(code: "twitter")

UIBarButtonItem (Without Custom Class)

import SwiftIconFont

twitterBarButton.icon(from: .fontAwesome5, code: "twitter", ofSize: 20)

UITabBarItem (Without Custom Class)

import SwiftIconFont

twitterTabBarButton.icon(from: .fontAwesome5, code: "twitter", imageSize: CGSizeMake(20, 20), ofSize: 20)

UIImage

import SwiftIconFont

let githubLogo = UIImage(from: .octicon, code: "logo-github", textColor: .black, backgroundColor: .clear, size: CGSize(width: 150, height: 50))

UIImageView

import SwiftIconFont

let githubLogoImageView: UIImageView = UIImageView(frame: CGRect(x: 120, y: self.view.frame.size.height - 130, width: 150, height: 50))
githubLogoImageView.setIcon(from: .octicon, code: "logo-github", textColor: .black, backgroundColor: .clear, size: nil)

macOS

  • NSTextField, NSImage, NSView
  • Please check ExampleMac project

Author

Sedat ÇİFTÇİ - me@sedat.ninja

Contributors

josejuanqm

License

SwiftIconFont is available under the MIT license. See the LICENSE file for more info.

Contributing

  1. Fork it (http://github.com/segecey/SwiftIconFont/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request