fluid-interfaces

Natural gestures and animations inspired by Apple's WWDC18 talk "Designing Fluid Interfaces"

Github stars Tracking Chart

Check out the accompanying blog post for more details: Building Fluid Interfaces

⭐️ If you found this repo helpful, please star it. Thanks! ⭐️

Background

At WWDC 2018, Apple designers gave a talk titled "Designing Fluid Interfaces", explaining the design theory behind the gesture-based interface of iPhone X. (The presentation is available here: Designing Fluid Interfaces)

It was an outstanding talk, inspiring designers and developers to think about animated interfaces in a new way. While some technical guidance was provided, most code-level implementation details were ommitted.

The goal with this project is to bridge the gap between inspiration and implementation.

Installation

Download or clone the repo and open the FluidInterfaces.xcodeproj file with Xcode.

Interfaces

Calculator Button

Spring Animations

Flashlight Button

Rubberbanding

Acceleration Pausing

Rewarding Momentum

FaceTime PiP

Rotation

Calculator Button

A button that mimics the behavior of buttons in the iOS Calculator app.

⚙️ CalculatorButton.swift

? Designing Fluid Interfaces 50:13

Spring Animations

A demo showing the ability to define a spring animation with "design-friendly" parameters.

⚙️ Spring.swift

? Designing Fluid Interfaces 31:40

Flashlight Button

A button that mimics the behavior of the flashlight button on the lockscreen of iPhone X.

⚙️ FlashlightButton.swift

? Designing Fluid Interfaces 37:59

Rubberbanding

A demo showing how to implement rubberbanding.

⚙️ Rubberbanding.swift

? Designing Fluid Interfaces 17:01

Acceleration Pausing

A demo of using a gesture's acceleration to quickly detect when the user's motion has paused.

⚙️ Acceleration.swift

? Designing Fluid Interfaces 10:40

Rewarding Momentum

A drawer with an open and closed state which has bounciness dependent on the velocity of the gesture.

⚙️ Momentum.swift

? Designing Fluid Interfaces 36:48

FaceTime PiP

A re-creation of the picture-in-picture UI of the iOS FaceTime app.

⚙️ Pip.swift

? Designing Fluid Interfaces 41:56

Rotation

A demo showing how the concepts from the PiP interface can apply to other animations.

⚙️ Rotation.swift

? Designing Fluid Interfaces 47:25

Author

You can find me on Twitter @nathangitter

Contributing

Feel free to add issues or pull requests here on GitHub. I cannot guarantee that I will accept your changes, but feel free to fork the repo and make changes as you see fit. Thanks!

© 2018 Nathan Gitter, licensed under Apache-2.0. See LICENSE for more information.

Main metrics

Overview
Name With Ownernathangitter/fluid-interfaces
Primary LanguageSwift
Program languageSwift (Language Count: 1)
Platform
License:Apache License 2.0
所有者活动
Created At2018-07-08 14:48:27
Pushed At2018-12-16 14:39:56
Last Commit At2018-08-19 15:11:49
Release Count0
用户参与
Stargazers Count2.6k
Watchers Count49
Fork Count147
Commits Count77
Has Issues Enabled
Issues Count2
Issue Open Count0
Pull Requests Count2
Pull Requests Open Count2
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private