• This repository has been archived on 15/Dec/2022
  • Stars
    star
    1,667
  • Rank 28,036 (Top 0.6 %)
  • Language
    Objective-C
  • License
    Other
  • Created over 11 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Backport flat-style UIKit from iOS7 to iOS5+

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.

Goal

  • 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

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];

Global tint color (Optional)

[[UI7Kit kit] setTintColor:<UIColor object>]

NOTE: See below to install or setup your projects.

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.

Current status.

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

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.

How to update

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.

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 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.

Apps using UI7Kit

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

Follow the above for installing CocoaPods, but instead make your app Podfile look like this:

pod 'UI7Kit/UI7Slider'

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)

pod 'UI7Kit/UI7Switch/SevenSwitch'  # use SevenSwitch (default)
pod 'UI7Kit/UI7Switch/KLSwitch'     # use KLSwitch
pod 'UI7Kit/UI7Switch/MBSwitch'     # use MBSwitch

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 ;)

Gittip donate button Paypal donate button

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

  • D2 FEST awarded 3rd prize!

More Repositories

1

ring

Python cache interface with clean API and built-in memcache & redis + asyncio support.
Python
479
star
2

VisualJSON

JSON pretty-viewer for OS X.
Objective-C
302
star
3

itunes-iap

Apple iTunes In-app purchase verification tool
Python
133
star
4

FoundationExtension

Foundation/Cocoa/UIKit extension kit. Reference document:
Objective-C
121
star
5

UIKitResources

This repository includes UIKit resources of Apple iOS7.
104
star
6

methodtools

Expand functools features(lru_cache) to class - methods, classmethods, staticmethods and even for (unofficial) hybrid methods.
Python
75
star
7

apple-sys

The auto-managed -sys crate for Apple platforms using bindgen directly from build environment
Rust
53
star
8

Say

Convert text to audiable speech. Play it or save it to audio file.
Swift
26
star
9

QRQR

QRQR, the world simplest QR code decoder for iOS
Objective-C
24
star
10

hangul-romanize

Hangul romanization library for academy - 국립국어원 학술 표기법
Python
23
star
11

slairck

Slack as an IRC client
Python
19
star
12

rust-xcode-langspec

xcode langspec for rust
Shell
17
star
13

sqlite3-objc

Sqlite3 Objective-C wrapper
Objective-C
16
star
14

cdebug

Debug mode log/assertion for C/Objective-C in a file
Objective-C
15
star
15

writedown

Markdown editor with realtime preview for OS X
PHP
13
star
16

baembal

Boost ast.parse with RustPython-powered parser technology
Python
12
star
17

xcode-libcxx

The missing libc++ headers in Xcode9 (Sigh).
C++
10
star
18

result-like

Rust
9
star
19

gitstat

Simple, static gitstat generator.
HTML
9
star
20

prettyexc

Make your python exception human readable in easy way.
Python
8
star
21

isNamyang

Swift
8
star
22

python-deadlib

Python dead batteries. See PEP 594.
Python
8
star
23

libintl-alternative

Replace libintl part of gettext runtime with NSBundle localizedString: for OSX/iOS.
C
8
star
24

the-swift-programming-language-ko

7
star
25

coinwraps

Python
7
star
26

wirerope

Python
6
star
27

ObjectXML

Simple XML object model for Objective-C from NSXMLParser
Objective-C
6
star
28

brotli-file

File interface for brotli
Python
5
star
29

DropYourIcons

Create icons for App Store in a minutes / for OS X
Objective-C
5
star
30

ingress-slack

Ingress Slack bot scripts
Python
5
star
31

SocialAccountKit

Social.framework + Account.framework boilerplate kit for iOS6+
Objective-C
5
star
32

cacheobj

Python cache interface with object-property interface.
Python
4
star
33

nonghyeop

농협 서버 체험판
4
star
34

3finalnoshift

세벌식 최종 순아래 (가칭) 자판의 날개셋 설정 파일
4
star
35

hangulize-ios

iOS frontend for http://hangulize.org
Swift
4
star
36

youknowone

4
star
37

koreanbot

An IRC-bot on the easyirc
Python
4
star
38

rust-objc-abandoned

Rust
3
star
39

easyirc

Easy IRC is an IRC toolkit to develop IRC client or bot, especially for Python/IRC beginner.
Python
3
star
40

AdMobHelper

Shortcut function for AdMob
Objective-C
3
star
41

slackcode

General purpose slack outhook bot
Python
3
star
42

macciv5-ko

맥용 문명5를 위한 한국어 팩 설치
Shell
3
star
43

hangeul

Input method library for Hangeul
C++
3
star
44

gcc-arm-mac

Makefile
2
star
45

memvec

Rust
2
star
46

text-ko

2
star
47

RapidForm

RapidForm is a form generator for PHP working with only a file.
PHP
2
star
48

dinomic

Python
2
star
49

syn-ext

Human-friendly an editable extension for https://crates.io/crates/syn
Rust
2
star
50

rust-divide

Rust
1
star
51

JoseonCamera

뭐든 북한산으로 만들어주는 유용한 iOS 앱
Objective-C
1
star
52

apple-sys-prebuilt

Rust
1
star
53

codejam2019

Python
1
star
54

SayKit

Convert text to audible speech
Swift
1
star
55

macmsn-ko

맥 OS X 용 Microsoft Messenger 의 한국어 지역화 리소스
JavaScript
1
star
56

BalloonChat

Balloon chat view for Cocoa
Objective-C
1
star
57

transtool

transtool is dictionary-rewritting-base general-purpose translation copilier.
Python
1
star
58

rrcounter

C++ Round Robin Counter
C++
1
star
59

aheui-rust

Aheui interpreter in Rust
Rust
1
star
60

zxing

zxing unofficial mirror by need (http://zxing.googlecode.com/svn/trunk/)
Java
1
star
61

Digistatic

https://www.codeproject.com/Articles/307/Static-LED-control-CDigiStatic
C++
1
star
62

CaulySDK

Cauly SDK 3 with helper
Objective-C
1
star
63

redistruct

Human-friendly structured redis API wrapper.
Python
1
star
64

github-profile

Github profile generator by manually written data
CSS
1
star
65

xcodepkgtool

Simple .pkg deployment script for xcode OS X project
Shell
1
star
66

DictionaryWrapper

Objective-C
1
star
67

hangeul-rust

hangeul manipulation module for rust
Rust
1
star
68

IdealCocoa

Tiny extensions of Cocoa library
Objective-C
1
star
69

parrotim

Parrot is an Input Method for Mac OS X which speech your typing
Objective-C
1
star
70

redis-pubsub-helper

Redis pubsub non-blocking interface (With a thread).
Python
1
star