💾 A collection of classic-style UI components for iOS

Related tags

UI swift ios classic
Overview

ClassicKit

A collection of classic-style UI components for UIKit, influenced by Windows 95

about portrait landscape

Introduction

This is a little exploration into applying '90s-era design & principles into a modern platform with some primitive components. The assets and design metrics were (for the most part) taken from an actual installation of Windows 95. These are pixel-accurate renditions of the original design:

Update:

  • (3/17) Added a simple Blue Screen of Death! Simply shake the device vigorously.

Usage

  • The Browser example can be run out-of-the-box.
  • You should be able to include some or all of the files under /Components in your project.
  • Each component is intended to be used like their UIKit counterparts. For example, CKButton should respond to gesture events just as UIButton would.
  • These are @IBDesignable components! That means you can lay out your entire app with these components in Interface Builder and Xcode will render them for you: xcode

Notes & FAQ

  • This project is very much a work-in-progress. Although it was designed with modularity and robustness in mind, there are no guarantees on reliability.
  • Q: Why did you do this?
    • This project was born out of some wholesome sarcasm and Millennial jokes with Ben Galassi. Check out his work!
  • Q: If this project is made for Apple devices, why based it on Microsoft's design?
  • Q: Why isn't the UI rendering in my Storyboard?
    • Interface Builder is very finicky. Rendering typically fails because the underlying code has an error or a constraint cannot be satisfied. Even if you fix these issues, you may have to clear the cache and restart Xcode.
  • Q: Why do I need YYImage?
    • You don't. YYImage is used in CKImageView to animate the throbber animation in the Browser example, but you can remove the reference in CKImageView.swift. Eventually this dependency will be removed.
  • Please let me know if you have any questions or comments! I'd also love to chat about design or tech nostalgia 🙂

Disclaimer

I do not claim ownership of the assets or logos used in this project. Windows and Internet Explorer are registered trademarks of Microsoft Inc.

License

MIT

You might also like...
Kit for building custom gauges + easy reproducible Apple's style ring gauges.
Kit for building custom gauges + easy reproducible Apple's style ring gauges.

GaugeKit ##Kit for building custom gauges + easy reproducible Apple's style ring gauges. - Example Usage Open GaugeKit.xcworkspace and change the sch

Newly is a drop in solution to add Twitter/Facebook/Linkedin style, new updates/tweets/posts available button
Newly is a drop in solution to add Twitter/Facebook/Linkedin style, new updates/tweets/posts available button

Newly is a drop in solution to add Twitter/Facebook/Linkedin style, new updates/tweets/posts available button. It can be used to notify user about new content availability and can other actions can be triggers using its delegate method.

ElongationPreview is an elegant UI push-pop style view controller
ElongationPreview is an elegant UI push-pop style view controller

ElongationPreview is an elegant UI push-pop style view controller

Elegant Apply Style by Swift Method Chain.🌙
Elegant Apply Style by Swift Method Chain.🌙

ApplyStyleKit ApplyStyleKit is a library that applies styles to UIKit using Swifty Method Chain. Normally, when applying styles to UIView etc.,it is n

A collection of awesome loading animations
A collection of awesome loading animations

NVActivityIndicatorView ⚠️ Check out LoaderUI (ready to use with Swift Package Mananger supported) for SwiftUI implementation of this. 🎉 Introduction

xTensions is a collection of useful class extensions for UIKit.

xTensions Intro xTensions is a collection of useful class extensions for UIKit. Swift Package Manager Note: Instructions below are for using SwiftPM w

UIStackView replica for iOS 7.x and iOS 8.x
UIStackView replica for iOS 7.x and iOS 8.x

TZStackView A wonderful layout component called the UIStackView was introduced with iOS 9. With this component it is really easy to layout components

Super awesome Swift minion for Core Data (iOS, macOS, tvOS)

⚠️ Since this repository is going to be archived soon, I suggest migrating to NSPersistentContainer instead (available since iOS 10). For other conven

A custom stretchable header view for UIScrollView or any its subclasses with UIActivityIndicatorView and iPhone X safe area support for content reloading. Built for iOS 10 and later.

Arale A custom stretchable header view for UIScrollView or any its subclasses with UIActivityIndicatorView support for reloading your content. Built f

Comments
  • Incorrect font use, Windows 95 used MS San Serif

    Incorrect font use, Windows 95 used MS San Serif

    Hello,

    Cool library! One minor remark—Windows 95 used MS Sans Serif rather than Tahoma.

    Comparison of the two: screen shot 2018-05-16 at 13 06 29

    Attached here is the correct font.

    MS Sans Serif.ttf.zip

    enhancement 
    opened by LeoNatan 4
  • Are the art assets original to this project?

    Are the art assets original to this project?

    Hello!

    I'm about to publish an app I wrote with ClassicKit, but I need to cover my legal bases before I do so. Two questions:

    • Is the navigation sound taken directly from Windows?
    • Are the icons created specifically for this project (minus the Internet Explorer logo)? If not, where did they come from?

    Thank you!

    question 
    opened by colejd 2
  • Use `newValue`

    Use `newValue`

    So uh... little embarrassing, but I put in a commit after sending my other PR thinking it would make it in. I forgot I had to update the PR itself. This fixes a bug with keyboardType not getting set properly.

    Sorry for the trouble!

    opened by colejd 1
Owner
Blake Tsuzaki
Blake Tsuzaki
Material design components for iOS written in Swift

MaterialKit NOTE: This project is unmaintained. Material design components (inspired by Google Material Design) for iOS written in Swift Please feel f

Le Van Nghia 2.5k Jan 5, 2023
It provides UI components such as popover, popup, dialog supporting iOS apps

Overview LCUIComponents is an on-going project, which supports creating transient views appearing above other content onscreen when a control is selec

Linh Chu 7 Apr 8, 2020
Spinner loader components with liquid animation

LiquidLoader LiquidLoader is the spinner loader UI components with liquid animation, inspired by Spinner Loader - Gooey light Effect [] (https://githu

Takuma Yoshida 1.3k Dec 21, 2022
SwiftUI: Components Library Inspired by Twitter's Bootstrap

bootswiftui SwiftUI: Components Library Inspired by Twitter's Bootstrap Warning This is just SwiftUI exercise. Please do not consider using this repo

Robert Sandru 1 Oct 27, 2022
A few drop-in SwiftUI components for easily importing and thumb-nailing files

FilesUI A few drop-in SwiftUI components for easily importing and thumb-nailing files Usage 1. Import Files To import files you can use the FileImport

Brianna Zamora 3 Oct 19, 2022
Swift Package for distributing Mozilla's Rust-based application components

Swift Package for Mozilla's Rust Components This repository is a Swift Package for distributing releases of Mozilla's various Rust-based application c

Mozilla 19 Dec 30, 2022
NotSwiftUI is designed to help you create UI components quickly and efficiently with code!

NotSwiftUI NotSwiftUI is designed to help you create UI components quickly and efficiently with code! Capitalizing on the idea that most of the UI ele

Jonathan G. 50 Dec 20, 2022
A paging scroll view for SwiftUI, using internal SwiftUI components

PagingView A paging scroll view for SwiftUI, using internal SwiftUI components. This is basically the same as TabView in the paging mode with the inde

Eric Lewis 18 Dec 25, 2022
SwiftUI components and extensions that seem to be highly reusable

SwiftUI components and extensions that seem to be highly reusable

Yusuke Hosonuma 56 Dec 15, 2022
Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style.

Swift version now available! Mimicking pen-on-paper signatures with a touch screen presents a difficult set of challenges. The rate touch events are e

Uber Open Source 1.3k Jan 6, 2023