introduction to storyboarding - iowa state...
TRANSCRIPT
![Page 1: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/1.jpg)
These are confidential sessions—please refrain from streaming, blogging, or taking pictures
Session 309
Introduction to Storyboarding
Joshua PenningtonInterface Builder Engineer
1
![Page 2: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/2.jpg)
2
![Page 3: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/3.jpg)
3
![Page 4: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/4.jpg)
Key Concepts Moving Data AdoptionAPI
HH
4
![Page 5: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/5.jpg)
HHKey Concepts Moving Data API Adoption
5
![Page 6: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/6.jpg)
6
![Page 7: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/7.jpg)
• Navigation between scenes
• Push, Modal, Popover, and more
• Customizable
Segue
7
![Page 8: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/8.jpg)
HHKey Concepts Moving Data API Adoption
8
![Page 9: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/9.jpg)
Moving Data Between Controllers
• Passing data to new scenes
• Bringing results back
9
![Page 10: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/10.jpg)
-[UIViewController prepareForSegue:sender:]
10
![Page 11: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/11.jpg)
Moving Data Between ControllersPassing data down
• Invoked on source
• Override to pass data
prepareForSegue
11
![Page 12: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/12.jpg)
Moving Data Between ControllersGetting results back
• Pass object back via delegate
Delegate
12
![Page 13: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/13.jpg)
Prototype-based Tables
• Easy to create
• Efficient
• Dequeue copies at runtime
13
![Page 14: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/14.jpg)
Static Table Views
• Design cells inline
• Sections, headers, and footers
• No data source!
14
![Page 15: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/15.jpg)
15
![Page 16: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/16.jpg)
Building DailyBuzzDemo
16
![Page 17: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/17.jpg)
RecapWhat you just saw
• Building scenes and segues
• Passing Data
• Table View support
17
![Page 18: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/18.jpg)
Tips, tricks, and advanced practicesStoryboarding in Depth
Rob MariniInterface Builder Engineer
18
![Page 19: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/19.jpg)
HHKey Concepts Moving Data API Adoption
19
![Page 20: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/20.jpg)
HHKey Concepts Moving Data API Adoption
20
![Page 21: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/21.jpg)
Storyboards at RuntimeInteracting with Storyboards in code
21
![Page 22: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/22.jpg)
Storyboards at RuntimeInteracting with Storyboards in code
22
![Page 23: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/23.jpg)
UIStoryboardRuntime Representation of Your Editor
23
![Page 24: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/24.jpg)
UIStoryboardRuntime Representation of Your Editor
24
![Page 25: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/25.jpg)
UIStoryboardRuntime Representation of Your Editor
25
![Page 26: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/26.jpg)
UIStoryboardLoading a Storyboard
• Loaded on demand+[UIStoryboard storyboardWithName:bundle:]
• Set up for you by UIApplication
<key>UIMainStoryboardFile</key>
26
![Page 27: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/27.jpg)
UIStoryboardInstantiating View Controllers
• Starting Scene of a Storyboard-[UIStoryboard instantiateInitialViewController]
• Arbitrary View Controllers by identifier-[UIStoryboard instantiateViewControllerWithIdentifier:]
27
![Page 28: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/28.jpg)
Storyboard InternalsUIStoryboard
28
![Page 29: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/29.jpg)
UIStoryboardStoryboard Internals
• Familiar override points for custom initialization-[UIViewController viewDidLoad]
-[NSObject awakeFromNib]
-[UIViewController initWithCoder:]
29
![Page 30: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/30.jpg)
UIStoryboardStoryboard Internals
• Familiar override points for custom initialization-[UIViewController viewDidLoad]
-[NSObject awakeFromNib]
-[UIViewController initWithCoder:]
30
![Page 31: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/31.jpg)
UIViewControllerPassing Data and Context
• Setting up a downstream View Controller-[UIViewController prepareForSegue:sender:]
• Loading other View Controllers from a Storyboard-[UIViewController storyboard]
• Performing a Segue-[UIViewController performSegueWithIdentifier:sender:]
31
![Page 32: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/32.jpg)
UIViewControllerPassing Data and Context
• Setting up a downstream View Controller-[UIViewController prepareForSegue:sender:]
• Loading other View Controllers from a Storyboard-[UIViewController storyboard]
• Performing a Segue-[UIViewController performSegueWithIdentifier:sender:]
32
![Page 33: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/33.jpg)
UIStoryboardSeguePreparing for a Segue
• Context for setup-[UIStoryboardSegue destinationViewController]
-[UIStoryboardSegue identifier]
• UIStoryboardPopoverSegue-[UIStoryboardPopoverSegue popoverController]
33
![Page 34: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/34.jpg)
UIStoryboardSeguePerforming a Segue
• Context for setup-[UIStoryboardSegue sourceViewController]
-[UIStoryboardSegue destinationViewController]
• Performing the visual transition-[UIStoryboardSegue perform]
34
![Page 35: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/35.jpg)
HHKey Concepts Moving Data API Adoption
35
![Page 36: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/36.jpg)
HHKey Concepts Moving Data API Adoption
36
![Page 37: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/37.jpg)
RoadmapAdopting Storyboards in your applications
• Designed to be flexible
• Wholesale conversion■ One Storyboard for entire application
• Incremental adoption■ Storyboard as you go
37
![Page 38: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/38.jpg)
Extending recipesRoad Map
• Existing application
• Load Storyboard for new UI
38
![Page 39: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/39.jpg)
Extending recipesRoad Map
• Existing application
• Load Storyboard for new UI
39
![Page 40: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/40.jpg)
Extending recipesRoad Map
• Existing application
• Load Storyboard for new UI
40
![Page 41: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/41.jpg)
DemoExtending your applications
41
![Page 42: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/42.jpg)
RecapWhat you just saw
• Can load a Storyboard for all or part of an application UI
• Creating and using Custom Segues
42
![Page 43: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/43.jpg)
Key PointsWhat you just saw
• Introduction to Storyboards
• Building a Storyboard-based iPhone application
• Storyboards at Runtime
• Leveraging Storyboards in existing applications
43
![Page 44: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/44.jpg)
Using Interface Builder in Xcode 4 Pacific HeightsTuesday 2:00PM
What’s New in Cocoa Touch Pacific HeightsThursday 4:30PM
Core Animation Essentials MissionThursday 11:30AM
Related Sessions
44
![Page 45: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/45.jpg)
Cocoa Touch Lab Application Frameworks Lab DWednesday 2:00PM
Interface Builder Storyboarding Lab Developer Tools Lab BWednesday 2:00PM
Labs
45
![Page 46: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/46.jpg)
More Information
Michael JurewitzDeveloper Tools [email protected]
DocumentationWhat’s New in iOS 5 http://developer.apple.com/iOS
Apple Developer Forumshttp://devforums.apple.com
46
![Page 47: Introduction to Storyboarding - Iowa State Universityclass.ece.iastate.edu/cpre388/Fall2011/lecture/309...These are confidential sessions—please refrain from streaming, blogging,](https://reader034.vdocuments.site/reader034/viewer/2022042115/5e928874b9aff24f4e0d6280/html5/thumbnails/47.jpg)
47