UI7Kit is a GUI toolkit which can backport flat-style UIKit from iOS7 to iOS5/iOS6. Additionally, UI7Kit can also be used to patch legacy UIKit to UI7Kit in runtime.
NOTE: This project is not mature yet and is being refined. You may come across some bugs or unexpected behaviors for complex real-world product.
- Import flat-style iOS7 theme to work on iOS5/6 (Except status bar and blur effect).
- Patch the classic UIKit to UI7Kit in runtime. (Renew your legacy app just in a line!)
- 100% UIKit compatibility.
Case 1: Dynamic patch (Mostly recommended)
#import <UI7Kit/UI7Kit.h>
[UI7Kit patchIfNeeded]; // in main.m, before UIApplicationMain()
Case 2: Partial usage
: Use UI7 instead of UI. : ex) UI7NavigationController, instead of UINavigationController
Case 3: Partial dynamic patch
#import <UI7Kit/UI7Kit.h>
[UI7<class> patchIfNeeded]; // ex) [UI7TableView patch];
Example with current code. (0.7.4)
The phones on the left most column of the screenshot are iOS7, and the phones on the middle and right columns are iOS5 or iOS6.
- Leave a github issue. New issue.
- Email: Address is in LICENSE or git log.
- IRC: Visit irc://irc.freenode.org/#youknowone for instant message. (You need an IRC client)
Download source code
# Copy and paste this lines
git clone git://github.com/youknowone/UI7Kit.git
cd UI7Kit
pod install
open UI7Kit.xcworkspace # You should open xcwordspace
If you don't have cocoapods, visit http://www.cocoapods.org or follow steps below:
# At first, install Commoand Line Tools from XCode->Preferences->Downloads.
sudo gem install cocoapods # May takes long time
pod setup # Do not sudo here
Run test app now.
Update source code and cocoapods
git pull # if you edited code, 'git fetch origin && git rebase origin/master'
pod update
open UI7Kit.xcworkspace # You should open xcwordspace
If you have any problems with missing methods, pod update
usually solves the problem.
If you don't have cocoapods, visit http://www.cocoapods.org or follow steps below:
# Install Commoand Line Tools in XCode->Preferences->Downloads first.
sudo gem install cocoapods
pod setup # Do not sudo here
If you have Podfile, add 'UI7Kit'. Or follow steps below:
# Copy and paste this lines
echo "platform :ios, '5.0'" > Podfile
echo "pod 'UI7Kit'" >> Podfile
pod install
open *.xcworkspace
This command will generate or edit YourProject.xcworkspace
.
Open this instead of your original YourProject.xcodeproj
.
- QRQR: https://itunes.apple.com/app/id444076697
- MAFOR Marine Forecast Decoder: https://itunes.apple.com/app/id674865491
- TouchMusic: https://itunes.apple.com/app/id677386346
- Slader: https://itunes.apple.com/app/id579962583
- opotumptuc: https://itunes.apple.com/app/id640558537
I am not maintaining authors list manually, but I am carefully keeping git author to track this. See:
Follow the above for installing CocoaPods, but instead make your app Podfile look like this:
pod 'UI7Kit/UI7Slider'
pod 'UI7Kit/UI7ActionSheet'
pod 'UI7Kit/UI7AlertView'
pod 'UI7Kit/UI7BarButtonItem'
pod 'UI7Kit/UI7Button'
pod 'UI7Kit/UI7Color'
pod 'UI7Kit/UI7Font'
pod 'UI7Kit/UI7Font'
pod 'UI7Kit/UI7NavigationBar'
pod 'UI7Kit/UI7NavigationController'
pod 'UI7Kit/UI7PickerView'
pod 'UI7Kit/UI7ProgressView'
pod 'UI7Kit/UI7SegmentedControl'
pod 'UI7Kit/UI7Slider'
pod 'UI7Kit/UI7Stepper'
pod 'UI7Kit/UI7TabBar'
pod 'UI7Kit/UI7TabBarController'
pod 'UI7Kit/UI7TabBarItem'
pod 'UI7Kit/UI7TableView'
pod 'UI7Kit/UI7TableViewCell'
pod 'UI7Kit/UI7TextField'
pod 'UI7Kit/UI7Toolbar'
pod 'UI7Kit/UI7View'
pod 'UI7Kit/UI7ViewController'
pod 'UI7Kit/UI7Switch/SevenSwitch' # use SevenSwitch (default)
pod 'UI7Kit/UI7Switch/KLSwitch' # use KLSwitch
pod 'UI7Kit/UI7Switch/MBSwitch' # use MBSwitch
If this project was enjoyable for you to use, or if it was helpful, a tip would be greatly appreciated. Thank you ;)