CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.

Theme 5.2.0

Theme 5.2.0

TestsTested
LangLanguage SwiftSwift
License NOASSERTION
ReleasedLast Release Mar 2021
SPMSupports SPM

Maintained by Stephan Heilner, Hilton Campbell.



Theme 5.2.0

  • By
  • Hilton Campbell and Stephan Heilner

Theme

Pod Version Pod License Pod Platform

Support one or more configurable appearance themes.

Installation

Install with CocoaPods by adding the following to your Podfile:

use_frameworks!

pod 'Theme'

Then run:

pod install

Usage

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!)
    ThemeController.sharedController.registerThemes(themeDictionary!)
	
	...
}

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)
        
        observeTheme(self.dynamicType.themeDidChange)
    }
    
    func themeDidChange(theme: Theme) {
        separatorColor = theme.colorForKeyPath("tableView.separatorColor")
        backgroundColor = theme.colorForKeyPath("tableView.backgroundColor")
    }
    
    ...   
}

License

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