Icons fonts for iOS (Font Awesome 5, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon, Foundation 3, Elegant Icon, Captain Icon)
Installation
SPM
Not yet supported. Please use Cocoapods or Carthage
Carthage
github "0x73/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
Runtime Structure
:
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Çİ – [email protected]
Contributors
License
SwiftIconFont is available under the MIT license. See the LICENSE file for more info.
Contributing
- Fork it (http://github.com/0x73/SwiftIconFont/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request