youknowone/UI7Kit
{ "createdAt": "2013-06-13T11:57:15Z", "defaultBranch": "master", "description": "Backport flat-style UIKit from iOS7 to iOS5+", "fullName": "youknowone/UI7Kit", "homepage": "", "language": "Objective-C", "name": "UI7Kit", "pushedAt": "2022-12-15T16:45:31Z", "stargazersCount": 1663, "topics": [ "ios6", "ios7", "monkey-patching", "uikit" ], "updatedAt": "2025-10-21T01:19:44Z", "url": "https://github.com/youknowone/UI7Kit"}UI7Kit
Section titled “UI7Kit”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.
How to use
Section titled “How to use”Case 1: Dynamic patch (Mostly recommended)
#import <UI7Kit/UI7Kit.h>[UI7Kit patchIfNeeded]; // in main.m, before UIApplicationMain()Case 2: Partial usage
: Use UI7
Case 3: Partial dynamic patch
#import <UI7Kit/UI7Kit.h>[UI7<class> patchIfNeeded]; // ex) [UI7TableView patch];Global tint color (Optional)
[[UI7Kit kit] setTintColor:<UIColor object>]NOTE: See below to install or setup your projects.
Example
Section titled “Example”Example with current code. (0.9.6)
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.
.
Contact methods
Section titled “Contact methods”- 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)
How to run test app
Section titled “How to run test app”Download source code
# Copy and paste this linesgit clone git://github.com/youknowone/UI7Kit.gitcd UI7Kitpod installopen UI7Kit.xcworkspace # You should open xcwordspaceIf 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 timepod setup # Do not sudo hereRun test app now.
How to update
Section titled “How to update”Update source code and cocoapods
git pull # if you edited code, 'git fetch origin && git rebase origin/master'pod updateopen UI7Kit.xcworkspace # You should open xcwordspaceIf you have any problems with missing methods, pod update usually solves the problem.
How to install to my project
Section titled “How to install to my project”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 cocoapodspod setup # Do not sudo hereIf you have Podfile, add ‘UI7Kit’. Or follow steps below:
# Copy and paste this linesecho "platform :ios, '5.0'" > Podfileecho "pod 'UI7Kit'" >> Podfilepod installopen *.xcworkspaceThis command will generate or edit YourProject.xcworkspace.
Open this instead of your original YourProject.xcodeproj.
Apps using UI7Kit
Section titled “Apps using UI7Kit”- 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
Authors
Section titled “Authors”I am not maintaining authors list manually, but I am carefully keeping git author to track this. See:
How to install one or two components
Section titled “How to install one or two components”Follow the above for installing CocoaPods, but instead make your app Podfile look like this:
pod 'UI7Kit/UI7Slider'Individual components reference
Section titled “Individual components reference”pod 'UI7Kit/UI7ActionSheet'pod 'UI7Kit/UI7AlertView'pod 'UI7Kit/UI7BarButtonItem'pod 'UI7Kit/UI7Button'pod 'UI7Kit/UI7Color'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'Special case for Switches (pick one)
Section titled “Special case for Switches (pick one)”pod 'UI7Kit/UI7Switch/SevenSwitch' # use SevenSwitch (default)pod 'UI7Kit/UI7Switch/KLSwitch' # use KLSwitchpod 'UI7Kit/UI7Switch/MBSwitch' # use MBSwitchDo you like this project?
Section titled “Do you like this project?”If this project was enjoyable for you to use, or if it was helpful, a tip would be greatly appreciated. Thank you ;)
Supports
Section titled “Supports”-
@lqez: who supported UI7Kit from very early stage.
-
@thomassnielsen: thanks to spread words.
-
@disjukr: thanks for support, and good luck for d2fest.
-
@christianmarth
-
@Serheo
-
@JohnKFisher: thanks for bug report. and good luck for Parlance.
-
andyaude
-
@segiddins: thanks for support, and especially for the reports and patches. UI7Kit becomes really better with you.
-
@zulkis
-
@lukaszmargielewski

