Submit Search
Upload
Parallactic Collection Views
•
9 likes
•
5,629 views
René Cacheaux
Follow
360iDev session on adding parallax effect to UICollectionView layouts.
Read less
Read more
Technology
Design
Report
Share
Report
Share
1 of 124
Download now
Download to read offline
Recommended
Modular View Controller Hierarchies
Modular View Controller Hierarchies
René Cacheaux
Bringing Swift into your Objective-C Projects
Bringing Swift into your Objective-C Projects
René Cacheaux
Writing Code for Humans, not Computers
Writing Code for Humans, not Computers
René Cacheaux
How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App Development
Devathon
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Boston
stan229
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Codemotion
An iOS Developer's Perspective on React Native
An iOS Developer's Perspective on React Native
Aleksandras Smirnovas
Optimizing React Native views for pre-animation
Optimizing React Native views for pre-animation
ModusJesus
Recommended
Modular View Controller Hierarchies
Modular View Controller Hierarchies
René Cacheaux
Bringing Swift into your Objective-C Projects
Bringing Swift into your Objective-C Projects
René Cacheaux
Writing Code for Humans, not Computers
Writing Code for Humans, not Computers
René Cacheaux
How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App Development
Devathon
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Boston
stan229
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Codemotion
An iOS Developer's Perspective on React Native
An iOS Developer's Perspective on React Native
Aleksandras Smirnovas
Optimizing React Native views for pre-animation
Optimizing React Native views for pre-animation
ModusJesus
Intro to react native
Intro to react native
ModusJesus
Android programming-basics
Android programming-basics
Aravindharamanan S
React Native for ReactJS Devs
React Native for ReactJS Devs
Barak Cohen
I Love APIs - Oct 2015
I Love APIs - Oct 2015
Mike McNeil
Introduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / Graphs
Rahat Khanna a.k.a mAppMechanic
AHOY FB Hack Day 2017
AHOY FB Hack Day 2017
Ian Yu-Hsun Lin
Lecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase Authentication
Kobkrit Viriyayudhakorn
Titanium Appcelerator - Beginners
Titanium Appcelerator - Beginners
Ambarish Hazarnis
React Native in a nutshell
React Native in a nutshell
Brainhub
Appcelerator Titanium Intro
Appcelerator Titanium Intro
Nicholas Jansma
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
Adrian Philipp
iOS Coding Best Practices
iOS Coding Best Practices
Jean-Luc David
A Better Interface Builder Experience
A Better Interface Builder Experience
Justin Munger
Introduction to React Native
Introduction to React Native
Sambhu Lakshmanan
Introduction to react native
Introduction to react native
Dani Akash
Getting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Techday7
Angular
Angular
TejinderMakkar
IBDesignable & IBInspectible
IBDesignable & IBInspectible
Gagan Vishal Mishra
Swift
Swift
Larry Ball
iPhone University Developer Program
iPhone University Developer Program
Jussi Pohjolainen
Making an app like 'Clear' Accessible
Making an app like 'Clear' Accessible
Sally Shepard
Augmented realityandeducaiotn2
Augmented realityandeducaiotn2
Amin Meyghani
More Related Content
What's hot
Intro to react native
Intro to react native
ModusJesus
Android programming-basics
Android programming-basics
Aravindharamanan S
React Native for ReactJS Devs
React Native for ReactJS Devs
Barak Cohen
I Love APIs - Oct 2015
I Love APIs - Oct 2015
Mike McNeil
Introduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / Graphs
Rahat Khanna a.k.a mAppMechanic
AHOY FB Hack Day 2017
AHOY FB Hack Day 2017
Ian Yu-Hsun Lin
Lecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase Authentication
Kobkrit Viriyayudhakorn
Titanium Appcelerator - Beginners
Titanium Appcelerator - Beginners
Ambarish Hazarnis
React Native in a nutshell
React Native in a nutshell
Brainhub
Appcelerator Titanium Intro
Appcelerator Titanium Intro
Nicholas Jansma
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
Adrian Philipp
iOS Coding Best Practices
iOS Coding Best Practices
Jean-Luc David
A Better Interface Builder Experience
A Better Interface Builder Experience
Justin Munger
Introduction to React Native
Introduction to React Native
Sambhu Lakshmanan
Introduction to react native
Introduction to react native
Dani Akash
Getting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Techday7
Angular
Angular
TejinderMakkar
IBDesignable & IBInspectible
IBDesignable & IBInspectible
Gagan Vishal Mishra
Swift
Swift
Larry Ball
iPhone University Developer Program
iPhone University Developer Program
Jussi Pohjolainen
What's hot
(20)
Intro to react native
Intro to react native
Android programming-basics
Android programming-basics
React Native for ReactJS Devs
React Native for ReactJS Devs
I Love APIs - Oct 2015
I Love APIs - Oct 2015
Introduction to React Native & Rendering Charts / Graphs
Introduction to React Native & Rendering Charts / Graphs
AHOY FB Hack Day 2017
AHOY FB Hack Day 2017
Lecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase Authentication
Titanium Appcelerator - Beginners
Titanium Appcelerator - Beginners
React Native in a nutshell
React Native in a nutshell
Appcelerator Titanium Intro
Appcelerator Titanium Intro
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
iOS Coding Best Practices
iOS Coding Best Practices
A Better Interface Builder Experience
A Better Interface Builder Experience
Introduction to React Native
Introduction to React Native
Introduction to react native
Introduction to react native
Getting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Angular
Angular
IBDesignable & IBInspectible
IBDesignable & IBInspectible
Swift
Swift
iPhone University Developer Program
iPhone University Developer Program
Similar to Parallactic Collection Views
Making an app like 'Clear' Accessible
Making an app like 'Clear' Accessible
Sally Shepard
Augmented realityandeducaiotn2
Augmented realityandeducaiotn2
Amin Meyghani
iOS 7 Intro: Engineering and Design
iOS 7 Intro: Engineering and Design
Sperasoft
Hello world ios v1
Hello world ios v1
Teodoro Alonso
Christopher Allen's Presentation at eComm 2009
Christopher Allen's Presentation at eComm 2009
eCommConf
iOS 7
iOS 7
PiXeL16
iOS Developer Interview Questions
iOS Developer Interview Questions
Clark Davidson
Casestudy
Casestudy
Vera Kovaleva
iOSMumbai Meetup Keynote
iOSMumbai Meetup Keynote
Glimpse Analytics
Comparison between articulate storyline & adobe captivate
Comparison between articulate storyline & adobe captivate
Manish Jhurani
Beginning Real World iOS App Development
Beginning Real World iOS App Development
Andri Yadi
iOS App Development with Storyboard
iOS App Development with Storyboard
Babul Mirdha
"Universal programming recipes", Kateryna Trofimenko
"Universal programming recipes", Kateryna Trofimenko
Badoo Development
Universal programming recipes - Ekaterina Trofimenko - Women In Technology
Universal programming recipes - Ekaterina Trofimenko - Women In Technology
Badoo
Ux Example
Ux Example
Johnson Wang
New to native? Getting Started With iOS Development
New to native? Getting Started With iOS Development
Geoffrey Goetz
iOS 7 Transition guide
iOS 7 Transition guide
Jigar Maheshwari
Building native apps with web components
Building native apps with web components
Denis Radin
React Alicante - React Redux a development workflow
React Alicante - React Redux a development workflow
Braulio Diez Botella
10 Essential Widgets Every Flutter Developer Should Know.pdf
10 Essential Widgets Every Flutter Developer Should Know.pdf
BitCot
Similar to Parallactic Collection Views
(20)
Making an app like 'Clear' Accessible
Making an app like 'Clear' Accessible
Augmented realityandeducaiotn2
Augmented realityandeducaiotn2
iOS 7 Intro: Engineering and Design
iOS 7 Intro: Engineering and Design
Hello world ios v1
Hello world ios v1
Christopher Allen's Presentation at eComm 2009
Christopher Allen's Presentation at eComm 2009
iOS 7
iOS 7
iOS Developer Interview Questions
iOS Developer Interview Questions
Casestudy
Casestudy
iOSMumbai Meetup Keynote
iOSMumbai Meetup Keynote
Comparison between articulate storyline & adobe captivate
Comparison between articulate storyline & adobe captivate
Beginning Real World iOS App Development
Beginning Real World iOS App Development
iOS App Development with Storyboard
iOS App Development with Storyboard
"Universal programming recipes", Kateryna Trofimenko
"Universal programming recipes", Kateryna Trofimenko
Universal programming recipes - Ekaterina Trofimenko - Women In Technology
Universal programming recipes - Ekaterina Trofimenko - Women In Technology
Ux Example
Ux Example
New to native? Getting Started With iOS Development
New to native? Getting Started With iOS Development
iOS 7 Transition guide
iOS 7 Transition guide
Building native apps with web components
Building native apps with web components
React Alicante - React Redux a development workflow
React Alicante - React Redux a development workflow
10 Essential Widgets Every Flutter Developer Should Know.pdf
10 Essential Widgets Every Flutter Developer Should Know.pdf
Recently uploaded
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
Key Features Of Token Development (1).pptx
Key Features Of Token Development (1).pptx
LBM Solutions
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Memoori
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
Neo4j
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
XfilesPro
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
Recently uploaded
(20)
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Slack Application Development 101 Slides
Slack Application Development 101 Slides
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Key Features Of Token Development (1).pptx
Key Features Of Token Development (1).pptx
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Parallactic Collection Views
1.
2.
Parallactic CollectionViews How to add
depth into iOS user interfaces
3.
4.
UI Collection View UICollectionViewDataSource UICollectionViewCell UICollectionViewCell UICollectionViewCell UICollectionViewCell UICollectionReusableView UICollectionViewLayout UICollectionReusableView UICollectionReusableView UICollectionReusableView UICollectionView UICollectionViewDelegate
5.
TrulyGreat Apps
6.
What makes an app truly
great?
7.
Fitin
8.
Magical
9.
Amazing First Impressions
10.
Experience Matters
11.
Let’sgobackintime
12.
13.
14.
AP
15.
Horizontal Navigation
16.
And now...
17.
iOS 7 is
Coming
18.
19.
Opportunity
20.
Design for iOS
7
21.
Depth
22.
Navigation
23.
Tools We Need
24.
UICollectionView
25.
26.
UICollectionView iOS 7
27.
How to add
depth?
28.
parallax
29.
Examples
30.
http://tinyurl.com/ 360Parallax
31.
Not just cool...
32.
How Parallax Works
33.
Relative Motion
34.
You can do
this with UICollection View
35.
WhyCollectionView?
36.
In this session
you will:
37.
Master Adding Parallax to
Your Layouts
38.
Let’s Dive In
39.
What are we building?
40.
41.
The Background
42.
Background View1
43.
UI Collection View UICollectionViewDataSource UICollectionViewCell UICollectionViewCell UICollectionViewCell UICollectionViewCell UICollectionReusableView UICollectionViewLayout UICollectionReusableView UICollectionReusableView UICollectionReusableView UICollectionView UICollectionViewDelegate
44.
Calculating Layout Metrics
45.
Elements in Rect -
(NSArray *)layoutAttributesForElementsInRect:(CGRect)rect {
46.
Title1 Title2 Title3 Content Content Content Content Content RectElements in
Rect
47.
1 2 3 Calculate Test Add
48.
Layout Attributes - (UICollectionViewLayoutAttributes
*) layoutAttributesForDecorationViewOfKind:(NSString *)decorationViewKind atIndexPath:(NSIndexPath *)indexPath
49.
Anchor Background2
50.
UICollectionView UIScrollView UIView UIResponder NSObject Class Hierarchy
51.
Scroll View Mechanics
52.
Scroll View Mechanics Scroll View
Contents BOUNDS
53.
Scroll View Mechanics Scroll View
Contents BOUNDS
54.
Anchor
55.
Anchoring Subviews Scroll View Contents Subview BOUNDS
56.
Anchoring Subviews Scroll View Contents Subview BOUNDS
57.
Need New Layout Metrics
on Scroll
58.
Invalidate Layout - (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
59.
Invalidate Layout Scroll View Contents Subview BOUNDS -invalidateLayout -invalidateLayout -invalidateLayout -invalidateLayout -invalidateLayout
60.
New Metrics On Invalidation
61.
Layout Attributes - (UICollectionViewLayoutAttributes
*) layoutAttributesForDecorationViewOfKind:(NSString *)decorationViewKind atIndexPath:(NSIndexPath *)indexPath
62.
Parallax3
63.
It’sabouttoget complicated
64.
Layout Attributes - (UICollectionViewLayoutAttributes
*) layoutAttributesForDecorationViewOfKind:(NSString *)decorationViewKind atIndexPath:(NSIndexPath *)indexPath
65.
Parallactic Offset
66.
Percentage Based
67.
Content Offset Scroll View Contents BOUNDS 0% 100% 50%
68.
Content Offset Scroll View Contents BOUNDS 0% 100% 50%
69.
Content Offset Scroll View Contents BOUNDS 100% Bounds
Height
70.
Content Offset Scroll View Contents BOUNDS 100% Content
Size Height
71.
Content Offset Scroll View Contents BOUNDS 100% Distance
to Travel
72.
Percentage CGFloat percentageComplete = self.collectionView.contentOffset.y
/ (self.collectionView.contentSize.height - self.collectionView.bounds.size.height);
73.
Calculating Parallactic Offset
74.
Define Offset Parallaxing Background BOUNDS Offset 0%
75.
Define Offset Parallaxing Background BOUNDS Offset 50%
76.
Define Offset Parallaxing Background BOUNDS Offset 100%
77.
Offset CGFloat parallaxShift =
6.0; CGFloat offset = ([self scrollPercentageComplete] * (2 * parallaxShift)) - parallaxShift;
78.
1 2 3 Inspect Collection View
Content Offset Calculate Current Percentage Calculate Current Parallactic Offset 4 Apply the Parallax Frame
79.
BuildIt
80.
We’ve Got Parallax
81.
The Cells
82.
Similar
83.
BuildIt
84.
YOU Now can Parallax
85.
One more thing...
86.
Parallactic rainForest
87.
Inspiration
88.
www.spotify.com/us/
89.
Demo
90.
ARCHITECTURE
91.
Parallaxing Cell Banner Parallaxing Cell Banner Components
92.
Anchor
93.
Cell Scroll View Contents Cell
2Cell Banner Banner Banner Banner
94.
Scroll View Contents Banner CellCell
2CellBanner Banner Banner
95.
Scroll View Contents Banner CellCell
2Cell Banner Banner Banner
96.
Scroll View Contents Banner CellCell
2Cell Banner Banner Banner
97.
Scroll View Contents Banner CellCell
2Cell Banner Banner Banner
98.
Crop
99.
Scroll View Contents Cell Banner Banner Banner Banner
100.
Scroll View Contents Cell Banner Banner Banner Banner
101.
Scroll View Contents Cell
2Cell Banner Banner Banner Banner
102.
Cell 2 Scroll View
Contents Cell Banner Banner Banner Banner
103.
Scroll View Contents Cell
2 Cell Banner Banner Banner Banner
104.
Scroll View Contents Cell
2 Banner Banner Banner Banner
105.
Scroll View Contents Cell
3Cell 2 Banner Banner Banner Banner
106.
Scroll View Contents Cell
3 Cell 2 Banner Banner Banner Banner
107.
Scroll View Contents Cell
3 Cell 2 Banner Banner Banner Banner
108.
Scroll View Contents Cell
3 Banner Banner Banner Banner
109.
Parallax
110.
Define Offset Scroll View Contents Banner Banner Parallaxing
Cell Banner Banner BOUNDS
111.
Define Offset Parallaxing Cell BOUNDS
112.
Define Offset Parallaxing Cell BOUNDS Offset 0%
113.
Define Offset Parallaxing Cell BOUNDS Offset 50%
114.
Define Offset Parallaxing Cell BOUNDS Offset 100%
115.
So that’s parallax
116.
Why do this?
117.
Fit In
118.
Get Featured by Apple
119.
And...
120.
delightyourusers
121.
Resources
122.
/RCacheaux/Parallax
123.
René Cacheaux iOS Architect rene.cacheaux@mutualmobile.com rene.cacheaux@gmail.com @RCachATX
Download now