An open API service indexing awesome lists of open source software.

https://github.com/snail-z/thememanager

ThemeManager is a lightweight library for application to switching themes. support more attributes and theme extensions. more easy and convenient to use.
https://github.com/snail-z/thememanager

cocoapods json night-mode objective-c plist skin theme ui

Last synced: about 2 months ago
JSON representation

ThemeManager is a lightweight library for application to switching themes. support more attributes and theme extensions. more easy and convenient to use.

Awesome Lists containing this project

README

          

ThemeManager

[![Language](https://img.shields.io/badge/Language-%20Objective--C%20-orange.svg)](https://travis-ci.org/snail-z/ThemeManager)
[![Version](https://img.shields.io/badge/pod-v2.0.0-brightgreen.svg)](http://cocoapods.org/pods/ThemeManager)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://cocoapods.org/pods/ThemeManager)
[![Platform](https://img.shields.io/badge/platform-%20iOS7.0+%20-lightgrey.svg)](http://cocoapods.org/pods/ThemeManager)

ThemeManager is a lightweight library for application to switching themes, support more attributes and theme extensions. more easy and convenient to use.

## Example

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

## Requirements

- Requires iOS 7.0 or later
- Requires Automatic Reference Counting (ARC)

## Installation

ThemeManager is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
platform :ios, '7.0'
use_frameworks!

target 'You Project' do

pod "ThemeManager", '~> 2.0'

end
```

## Preview

- Switch support images.

- Mode during the day and night mode switch of the skin.

- A variety of styles to switch.

- Support fonts and transparency switches.


## Usage

See demo. please wait...

## Update

- Support iPhone X

- Support iOS 11

- Support custom method theme switch

```objc
// When the external custom methods, you can use it.
- (void)zh_addThemePickerForSelector:(SEL)sel withArguments:(id)arguments, ...;

Note:
The all parameters must be id type.
if the basic data types needs to be encapsulated into NSNumber; the struct type needs to be encapsulated into NSValue.
Example:
NSNumber *number = [NSNumber numberWithInteger:2];
NSValue *value = [NSValue valueWithCGSize:CGSizeMake(100, 100)];
zhThemeColorPicker *picker = ThemeColorPickerWithKey(@"key");
[object zh_addThemePickerForSelector:@selector(setColor:Integer:setCGSize:)
withArguments:picker, number, value];
```

## Author

snail-z, haozhang0770@163.com

## License

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