View
334
Download
0
Category
Tags:
Preview:
Citation preview
Jon Flanders@jon!anders
What’s New in iOS7UIKit
Tuesday, September 3, 13
What You will Learn
Tuesday, September 3, 13
What You will Learn
§ Details about the new UIView layout in iOS7
Tuesday, September 3, 13
What You will Learn
§ Details about the new UIView layout in iOS7§ Overview of other features
Tuesday, September 3, 13
Full Screen
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and width
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar o Underneath navigation bar (if you are using one)
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar o Underneath navigation bar (if you are using one)
§ wantsFullScreenLayout now deprecated
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar o Underneath navigation bar (if you are using one)
§ wantsFullScreenLayout now deprecatedo extendedEdgesForLayout can change how far your view extends
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar o Underneath navigation bar (if you are using one)
§ wantsFullScreenLayout now deprecatedo extendedEdgesForLayout can change how far your view extendso Can get iOS6 like behavior
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar o Underneath navigation bar (if you are using one)
§ wantsFullScreenLayout now deprecatedo extendedEdgesForLayout can change how far your view extendso Can get iOS6 like behavior
§ Don’t make changes that could make status bar unreadable
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar o Underneath navigation bar (if you are using one)
§ wantsFullScreenLayout now deprecatedo extendedEdgesForLayout can change how far your view extendso Can get iOS6 like behavior
§ Don’t make changes that could make status bar unreadableo New status bar style: UIStatusBarStyleLightContent
Tuesday, September 3, 13
Full Screen
§ By default, your top-level views are extended to the full screen height and widtho Underneath the status bar o Underneath navigation bar (if you are using one)
§ wantsFullScreenLayout now deprecatedo extendedEdgesForLayout can change how far your view extendso Can get iOS6 like behavior
§ Don’t make changes that could make status bar unreadableo New status bar style: UIStatusBarStyleLightContento BlackTranslucent and BlackOpaque deprecated
Tuesday, September 3, 13
Status Bar
Tuesday, September 3, 13
Status Bar
§ Besides making sure not to obfuscate the status bar, apps have more control over it in iOS7 through UIViewController
Tuesday, September 3, 13
Status Bar
§ Besides making sure not to obfuscate the status bar, apps have more control over it in iOS7 through UIViewController
§ preferredStatusBarStyle property can be overridden
Tuesday, September 3, 13
Status Bar
§ Besides making sure not to obfuscate the status bar, apps have more control over it in iOS7 through UIViewController
§ preferredStatusBarStyle property can be overridden§ You can call setNeedsStatusBarAppearanceUpdate
Tuesday, September 3, 13
Status Bar
§ Besides making sure not to obfuscate the status bar, apps have more control over it in iOS7 through UIViewController
§ preferredStatusBarStyle property can be overridden§ You can call setNeedsStatusBarAppearanceUpdate
o If called during an animation block, the changes will be animated
Tuesday, September 3, 13
Status Bar
§ Besides making sure not to obfuscate the status bar, apps have more control over it in iOS7 through UIViewController
§ preferredStatusBarStyle property can be overridden§ You can call setNeedsStatusBarAppearanceUpdate
o If called during an animation block, the changes will be animated
§ prefersStatusBarHidden defaults to NO
Tuesday, September 3, 13
Status Bar
§ Besides making sure not to obfuscate the status bar, apps have more control over it in iOS7 through UIViewController
§ preferredStatusBarStyle property can be overridden§ You can call setNeedsStatusBarAppearanceUpdate
o If called during an animation block, the changes will be animated
§ prefersStatusBarHidden defaults to NOo You can set to yes
Tuesday, September 3, 13
Status Bar
§ Besides making sure not to obfuscate the status bar, apps have more control over it in iOS7 through UIViewController
§ preferredStatusBarStyle property can be overridden§ You can call setNeedsStatusBarAppearanceUpdate
o If called during an animation block, the changes will be animated
§ prefersStatusBarHidden defaults to NOo You can set to yeso preferredStatusBarUpdateAnimation kicks in if it changes
Tuesday, September 3, 13
Tint Color
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView o Not the same as iOS6 version
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView o Not the same as iOS6 version
§ Tint color now used consistently through an app to indicate interactivity of an element
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView o Not the same as iOS6 version
§ Tint color now used consistently through an app to indicate interactivity of an elemento Rather than a certain chrome on an item
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView o Not the same as iOS6 version
§ Tint color now used consistently through an app to indicate interactivity of an elemento Rather than a certain chrome on an item
§ Each app is free to pick its own tint color
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView o Not the same as iOS6 version
§ Tint color now used consistently through an app to indicate interactivity of an elemento Rather than a certain chrome on an item
§ Each app is free to pick its own tint color o Default is new iOS7 blue color
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView o Not the same as iOS6 version
§ Tint color now used consistently through an app to indicate interactivity of an elemento Rather than a certain chrome on an item
§ Each app is free to pick its own tint color o Default is new iOS7 blue color
§ Tint color is now inherited from the top-level view down
Tuesday, September 3, 13
Tint Color
§ Property used to be available on bars, now on UIView o Not the same as iOS6 version
§ Tint color now used consistently through an app to indicate interactivity of an elemento Rather than a certain chrome on an item
§ Each app is free to pick its own tint color o Default is new iOS7 blue color
§ Tint color is now inherited from the top-level view downo Each UIView can change if desired, but a consistent tint color helps users understand
what is interactive (clickable, touchable) in your app
Tuesday, September 3, 13
Tab and Navigation Bars
Tuesday, September 3, 13
Tab and Navigation Bars
§ tintColor no longer has the same effect
Tuesday, September 3, 13
Tab and Navigation Bars
§ tintColor no longer has the same effect o If you want to change the bar background color use barTintColor
Tuesday, September 3, 13
Tab and Navigation Bars
§ tintColor no longer has the same effect o If you want to change the bar background color use barTintColor
§ Size of tab and navigation bars has changed
Tuesday, September 3, 13
Tab and Navigation Bars
§ tintColor no longer has the same effect o If you want to change the bar background color use barTintColor
§ Size of tab and navigation bars has changedo Again, best to use Auto Layout expressions to avoid hardcoded values
Tuesday, September 3, 13
Navigation Bar
Tuesday, September 3, 13
Navigation Bar
§ Now translucent
Tuesday, September 3, 13
Navigation Bar
§ Now translucento Again your View will generally appear below the nav bar on scroll
Tuesday, September 3, 13
Navigation Bar
§ Now translucento Again your View will generally appear below the nav bar on scroll
§ You can change the backIndicatorImage
Tuesday, September 3, 13
Navigation Bar
§ Now translucento Again your View will generally appear below the nav bar on scroll
§ You can change the backIndicatorImageo backIndicatorTransitionMaskImage is used during push and pop transitions
Tuesday, September 3, 13
Navigation Bar
§ Now translucento Again your View will generally appear below the nav bar on scroll
§ You can change the backIndicatorImageo backIndicatorTransitionMaskImage is used during push and pop transitionso Generally you’ll change both of them
Tuesday, September 3, 13
Navigation Bar
§ Now translucento Again your View will generally appear below the nav bar on scroll
§ You can change the backIndicatorImageo backIndicatorTransitionMaskImage is used during push and pop transitionso Generally you’ll change both of them
§ displaysSearchBarInNavigationBar
Tuesday, September 3, 13
Navigation Bar
§ Now translucento Again your View will generally appear below the nav bar on scroll
§ You can change the backIndicatorImageo backIndicatorTransitionMaskImage is used during push and pop transitionso Generally you’ll change both of them
§ displaysSearchBarInNavigationBaro Puts the search bar in NavigationBar rather than at top of TableView
Tuesday, September 3, 13
Button
Tuesday, September 3, 13
Button
§ Buttons are now borderless and bezel-less
Tuesday, September 3, 13
Button
§ Buttons are now borderless and bezel-lesso UIButtonTypeSystem new default button type
Tuesday, September 3, 13
Button
§ Buttons are now borderless and bezel-lesso UIButtonTypeSystem new default button type
§ TintColor used to set normal and selected color
Tuesday, September 3, 13
UIImage
Tuesday, September 3, 13
UIImage
§ Template images are now taken care of by UIKit
Tuesday, September 3, 13
UIImage
§ Template images are now taken care of by UIKito Call imageWithRenderingMode to specify template behavior
Tuesday, September 3, 13
UIImage
§ Template images are now taken care of by UIKito Call imageWithRenderingMode to specify template behavioro UIImageRenderingModeAlwaysTemplate
Tuesday, September 3, 13
UIImage
§ Template images are now taken care of by UIKito Call imageWithRenderingMode to specify template behavioro UIImageRenderingModeAlwaysTemplateo UIImageRenderingModeAlwaysOriginal
Tuesday, September 3, 13
UIImage
§ Template images are now taken care of by UIKito Call imageWithRenderingMode to specify template behavioro UIImageRenderingModeAlwaysTemplateo UIImageRenderingModeAlwaysOriginal o UIImageRenderingModeAutomatic (default) – will template or not based on context
Tuesday, September 3, 13
UIActivity
Tuesday, September 3, 13
UIActivity
§ New Activity Types
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList o UIActivityTypePostToFlickr
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList o UIActivityTypePostToFlickro UIActivityTypePostToVimeo
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList o UIActivityTypePostToFlickro UIActivityTypePostToVimeoo UIActivityTypePostToTencentWeibo
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList o UIActivityTypePostToFlickro UIActivityTypePostToVimeoo UIActivityTypePostToTencentWeiboo UIActivityTypeAirDrop
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList o UIActivityTypePostToFlickro UIActivityTypePostToVimeoo UIActivityTypePostToTencentWeiboo UIActivityTypeAirDrop
§ New enum: UIActivityCategory
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList o UIActivityTypePostToFlickro UIActivityTypePostToVimeoo UIActivityTypePostToTencentWeiboo UIActivityTypeAirDrop
§ New enum: UIActivityCategoryo UIActivityCategoryShare – Facebook, Twitter, etc.
Tuesday, September 3, 13
UIActivity
§ New Activity Typeso UIActivityTypeAddToReadingList o UIActivityTypePostToFlickro UIActivityTypePostToVimeoo UIActivityTypePostToTencentWeiboo UIActivityTypeAirDrop
§ New enum: UIActivityCategoryo UIActivityCategoryShare – Facebook, Twitter, etc.o UIActivityCategoryAction – AirDrop
Tuesday, September 3, 13
TableView
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edge
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edgeo Larger space between sections
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edgeo Larger space between sectionso Darker background
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edgeo Larger space between sectionso Darker background
§ Highlighted cells
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edgeo Larger space between sectionso Darker background
§ Highlighted cellso Gray instead of blue background – no color inversion – or use
selectedBackgroundView to create custom view on selection
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edgeo Larger space between sectionso Darker background
§ Highlighted cellso Gray instead of blue background – no color inversion – or use
selectedBackgroundView to create custom view on selectiono Separators are inset
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edgeo Larger space between sectionso Darker background
§ Highlighted cellso Gray instead of blue background – no color inversion – or use
selectedBackgroundView to create custom view on selectiono Separators are inset
§ Estimated height API
Tuesday, September 3, 13
TableView
§ Major change: in grouped style, cells now extend to edgeo Larger space between sectionso Darker background
§ Highlighted cellso Gray instead of blue background – no color inversion – or use
selectedBackgroundView to create custom view on selectiono Separators are inset
§ Estimated height APIo You can now “prime” the table view with an estimated height before cells are
requested
Tuesday, September 3, 13
UIScrollView
Tuesday, September 3, 13
UIScrollView
§ Small but powerful change: keyboardDismiss property
Tuesday, September 3, 13
UIScrollView
§ Small but powerful change: keyboardDismiss propertyo UIScrollViewKeyboardDismissModeOnDrag is my favorite – when you have a form in a
scroll view, scrolling dismisses the keyboard!
Tuesday, September 3, 13
Other Controls
Tuesday, September 3, 13
Other Controls
§ Segmented controls
Tuesday, September 3, 13
Other Controls
§ Segmented controls o UISegmentedControlStyle deprecated, it has no effect
Tuesday, September 3, 13
Other Controls
§ Segmented controls o UISegmentedControlStyle deprecated, it has no effect
§ Switches and sliders: slight metrics change
Tuesday, September 3, 13
Other Controls
§ Segmented controls o UISegmentedControlStyle deprecated, it has no effect
§ Switches and sliders: slight metrics changeo Again, Auto Layout is your friend here
Tuesday, September 3, 13
Animations
Tuesday, September 3, 13
Animations
§ iOS7 supports custom animations when moving between Views
Tuesday, September 3, 13
Animations
§ iOS7 supports custom animations when moving between Viewso New ”animate with” methods enable both built-in as well as custom keyframe
animations
Tuesday, September 3, 13
Animations
§ iOS7 supports custom animations when moving between Viewso New ”animate with” methods enable both built-in as well as custom keyframe
animations
§ Also supports opting out of any potential animations
Tuesday, September 3, 13
Animations
§ iOS7 supports custom animations when moving between Viewso New ”animate with” methods enable both built-in as well as custom keyframe
animations
§ Also supports opting out of any potential animationso [UIView performWithoutAnimation] takes a block that will guaranteed to execute
without any animations
Tuesday, September 3, 13
Animations
§ iOS7 supports custom animations when moving between Viewso New ”animate with” methods enable both built-in as well as custom keyframe
animations
§ Also supports opting out of any potential animationso [UIView performWithoutAnimation] takes a block that will guaranteed to execute
without any animationso Usually for performance reasons
Tuesday, September 3, 13
Custom Transitions
Tuesday, September 3, 13
Custom Transitions
§ iOS7 makes it easy to provide custom animations during ViewController transitions
Tuesday, September 3, 13
Custom Transitions
§ iOS7 makes it easy to provide custom animations during ViewController transitions
§ Implement UIViewControllerTransitioningDelegate to get control
Tuesday, September 3, 13
CollectionViews
Tuesday, September 3, 13
CollectionViews
§ Its always been possible to animate layout changes inside of a CollectionView
Tuesday, September 3, 13
CollectionViews
§ Its always been possible to animate layout changes inside of a CollectionView o New method has completion block
Tuesday, September 3, 13
CollectionViews
§ Its always been possible to animate layout changes inside of a CollectionView o New method has completion block
§ You can customize the layout-to-layout transitions using a UICollectionViewTransitionLayout subclass
Tuesday, September 3, 13
CollectionViews
§ Its always been possible to animate layout changes inside of a CollectionView o New method has completion block
§ You can customize the layout-to-layout transitions using a UICollectionViewTransitionLayout subclass
§ Layout-to-layout navigation controller pushes now possible
Tuesday, September 3, 13
CollectionViews
§ Its always been possible to animate layout changes inside of a CollectionView o New method has completion block
§ You can customize the layout-to-layout transitions using a UICollectionViewTransitionLayout subclass
§ Layout-to-layout navigation controller pushes now possibleo useLayoutToLayoutNavigationTransitions must be set to NO on the current Collection
View Controller
Tuesday, September 3, 13
CollectionViews
§ Its always been possible to animate layout changes inside of a CollectionView o New method has completion block
§ You can customize the layout-to-layout transitions using a UICollectionViewTransitionLayout subclass
§ Layout-to-layout navigation controller pushes now possibleo useLayoutToLayoutNavigationTransitions must be set to NO on the current Collection
View Controllero useLayoutToLayoutNavigationTransitions must be set to YES on the pushed Collection
View Controller
Tuesday, September 3, 13
Motion
Tuesday, September 3, 13
Motion
§ Part of the look of the new OS is related to depth and motion
Tuesday, September 3, 13
Motion
§ Part of the look of the new OS is related to depth and motiono Springboard has a parallax effect behind it
Tuesday, September 3, 13
Motion
§ Part of the look of the new OS is related to depth and motiono Springboard has a parallax effect behind it
§ Alerts move as your position moves
Tuesday, September 3, 13
Motion
§ Part of the look of the new OS is related to depth and motiono Springboard has a parallax effect behind it
§ Alerts move as your position moveso Best seen in Safari multiple-page views
Tuesday, September 3, 13
Motion
§ Part of the look of the new OS is related to depth and motiono Springboard has a parallax effect behind it
§ Alerts move as your position moveso Best seen in Safari multiple-page views
§ UIMotionBehavior is the main class in the new API
Tuesday, September 3, 13
Motion Effects
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super class
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effects
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the device
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
§ Rather than subclassing, you can use UIInterpolatingMotionEffect
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
§ Rather than subclassing, you can use UIInterpolatingMotionEffecto Give it a keypath and a min and max value
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
§ Rather than subclassing, you can use UIInterpolatingMotionEffecto Give it a keypath and a min and max valueo Add it to any UIView – addMotionEffect
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
§ Rather than subclassing, you can use UIInterpolatingMotionEffecto Give it a keypath and a min and max valueo Add it to any UIView – addMotionEffecto Use the new motionEffects property to "nd out what effects are applied to a view
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
§ Rather than subclassing, you can use UIInterpolatingMotionEffecto Give it a keypath and a min and max valueo Add it to any UIView – addMotionEffecto Use the new motionEffects property to "nd out what effects are applied to a viewo removeMotionEffect to remove
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
§ Rather than subclassing, you can use UIInterpolatingMotionEffecto Give it a keypath and a min and max valueo Add it to any UIView – addMotionEffecto Use the new motionEffects property to "nd out what effects are applied to a viewo removeMotionEffect to remove
§ UIMotionEffectGroup holds collection
Tuesday, September 3, 13
Motion Effects
§ UIMotionEffect is the super classo You can subclass for your own effectso You are passed the UIOffset which tells you the vertical/horizontal offset motion of
the deviceo Return a dictionary of keypaths and relative values for that offset
§ Rather than subclassing, you can use UIInterpolatingMotionEffecto Give it a keypath and a min and max valueo Add it to any UIView – addMotionEffecto Use the new motionEffects property to "nd out what effects are applied to a viewo removeMotionEffect to remove
§ UIMotionEffectGroup holds collectiono Use UIMotionEffect subclass so you can add to [UIView addMotionEffect]
Tuesday, September 3, 13
Dynamics
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screen
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screen
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screeno Simulated weight
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screeno Simulated weight
§ Messages scroll a bit behind your "nger
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screeno Simulated weight
§ Messages scroll a bit behind your "nger§ Implemented by UIDynamics
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screeno Simulated weight
§ Messages scroll a bit behind your "nger§ Implemented by UIDynamics
o A physics engine built into UIKit
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screeno Simulated weight
§ Messages scroll a bit behind your "nger§ Implemented by UIDynamics
o A physics engine built into UIKit
§ Create a behavior
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screeno Simulated weight
§ Messages scroll a bit behind your "nger§ Implemented by UIDynamics
o A physics engine built into UIKit
§ Create a behavioro Con"gure with items to animate
Tuesday, September 3, 13
Dynamics
§ Slide to get camera on lock screeno Bounces and hits bottom of screeno Simulated weight
§ Messages scroll a bit behind your "nger§ Implemented by UIDynamics
o A physics engine built into UIKit
§ Create a behavioro Con"gure with items to animateo Add it to the view
Tuesday, September 3, 13
Dynamics API Behaviors
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavior
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavior
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavior
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravity
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravityo 1000 points per second per second instead of Earth’s 9.8m per second per second
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravityo 1000 points per second per second instead of Earth’s 9.8m per second per second
§ UIPushBehavior
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravityo 1000 points per second per second instead of Earth’s 9.8m per second per second
§ UIPushBehavioro Apply forces to views
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravityo 1000 points per second per second instead of Earth’s 9.8m per second per second
§ UIPushBehavioro Apply forces to views
§ UISnapBehavior
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravityo 1000 points per second per second instead of Earth’s 9.8m per second per second
§ UIPushBehavioro Apply forces to views
§ UISnapBehavioro Snap to point
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravityo 1000 points per second per second instead of Earth’s 9.8m per second per second
§ UIPushBehavioro Apply forces to views
§ UISnapBehavioro Snap to point
§ UIDynamicItemBehavior
Tuesday, September 3, 13
Dynamics API Behaviors
§ UIAttachmentBehavioro Attaches two views together
§ UICollisionBehavioro Models collision with views or boundaries
§ UIGravityBehavioro Models gravityo 1000 points per second per second instead of Earth’s 9.8m per second per second
§ UIPushBehavioro Apply forces to views
§ UISnapBehavioro Snap to point
§ UIDynamicItemBehavioro Access to low-level properties of an item in Dynamics
Tuesday, September 3, 13
State Restoration
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restoration
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handling
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handlingo iOS7 will use Snapshot on launch
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handlingo iOS7 will use Snapshot on launcho ignoreSnapshotOnNextApplicationLaunch
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handlingo iOS7 will use Snapshot on launcho ignoreSnapshotOnNextApplicationLaunch
§ Other enhancements
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handlingo iOS7 will use Snapshot on launcho ignoreSnapshotOnNextApplicationLaunch
§ Other enhancementso System Version/Timestamp keys
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handlingo iOS7 will use Snapshot on launcho ignoreSnapshotOnNextApplicationLaunch
§ Other enhancementso System Version/Timestamp keyso Improved UITableView support
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handlingo iOS7 will use Snapshot on launcho ignoreSnapshotOnNextApplicationLaunch
§ Other enhancementso System Version/Timestamp keyso Improved UITableView supporto UICollectionView support
Tuesday, September 3, 13
State Restoration
§ You can now register arbitrary objects to be part of state restorationo [UIApplication registerObjectForStateRestoration:restorationIdenti"er:]
o Implement UIStateRestoration protocol
§ Snapshot handlingo iOS7 will use Snapshot on launcho ignoreSnapshotOnNextApplicationLaunch
§ Other enhancementso System Version/Timestamp keyso Improved UITableView supporto UICollectionView supporto Mail Activity Controller
Tuesday, September 3, 13
Summary
Tuesday, September 3, 13
Summary
§ To implement the UI changes in iOS7, Apple invested a considerable of amount of work in UIKit
Tuesday, September 3, 13
Summary
§ To implement the UI changes in iOS7, Apple invested a considerable of amount of work in UIKit
§ Upside for developers is that creating interactive, engaging UIs is now even easier
Tuesday, September 3, 13
Recommended