Latest 5.1.0
License MIT
Platforms ios 9.0, tvos 10.0, requires ARC
Dependencies Signals
Authors ,

Pod Version
Pod License
Pod Platform

Support one or more configurable appearance themes.


Install with CocoaPods by adding the following to your Podfile:


pod 'Theme'

Then run:

pod install


Create a plist for your themes.

Register the plist when your app launches:

import Theme

func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
    let themePath = NSBundle.mainBundle().pathForResource("Theme", ofType: "plist")
    let themeDictionary = NSDictionary(contentsOfFile: themePath!)


Set the initial theme when your app launches, and change the theme whenever you choose.

Observe changes to the theme from any view, view controller, or other object:

import Theme

class ThemeAwareTableView: UITableView {
    override init(frame: CGRect, style: UITableViewStyle) {
        super.init(frame: frame, style: style)


    func themeDidChange(theme: Theme) {
        separatorColor = theme.colorForKeyPath("tableView.separatorColor")
        backgroundColor = theme.colorForKeyPath("tableView.backgroundColor")



Theme is released under the MIT license. See LICENSE for details.

Latest podspec

    "name": "Theme",
    "version": "5.1.0",
    "summary": "Support one or more configurable appearance themes.",
    "authors": [
        "Hilton Campbell",
        "Stephan Heilner"
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "source": {
        "git": "",
        "tag": "5.1.0"
    "platforms": {
        "ios": "9.0",
        "tvos": "10.0"
    "source_files": "Theme/*.swift",
    "requires_arc": true,
    "dependencies": {
        "Signals": []
    "swift_version": "5.0"

Pin It on Pinterest

Share This