Text
Dynamic Type
- Specifies fonts semantically
- Supports user text sizing
- Optimized for legibility
- Supports accessibility sizes and enhancements
Text Styles
Headline 1 | UIFontTextStyleHeadline1 |
Headline 2 | UIFontTextStyleHeadline2 |
Subheadline 1 | UIFontTextStyleSubheadline1 |
Subheadline 2 | UIFontTextStyleSubheadline2 |
Body | UIFontTextStyleBody |
Footnote | UIFontTextStyleFootnote |
Caption 1 | UIFontTextStyleCaption1 |
Caption 2 | UIFontTextStyleCaption2 |
+[UIFont preferredFontForTextStyle:]
Letterpress
NSAttributedString *letterpressString = [[NSAttributedString alloc] initWithString: @"Letterpress" attributes: @{NSTextEffectsAttributeName : NSTextEffectsLetterpressStyle}];
Text Kit
Relate Session
- Introducing Text Kit
- Advanced Text Layouts and Effects with Text Kit
- Using Fonts with Text Kit
Full Screen Content
-[UIViewController extendedEdgesForLayout] -[UIViewController topLayoutGuide] -[UIViewController bottomLayoutGuide]
Status Bar Style
- Default
- LightContent
@interface UIViewController - (UIStatusBarStyle)preferredStatusBarStyle; - (BOOL)prefersStatusBarHidden; @end
Enabled via Info.plist key:
// UIViewControllerBasedStatusBarAppearance - [UINavigationController interactivePopGestureRecognizer] - [UICollectionViewController useLayoutToLayoutNavigationTransitions]
Relate Session
- Custom Transitions Using View Controllers
Table View
-[UITableViewCell separatorInset]
UIAlertView
contentView
UIButton
- UIButtonTypeSystem
- UIBarButtonItemStylePlain
UIButtonTypeRoundRect,UIBarButtonItemStyleBordered
@interface UISegmentedControl @property UISegmentedControlStyle segmentedControlStyle @end
Picker views
- Avoid using as a UIInputView
- Present inline instead
Search fields
@interface UISearchDisplayController @property BOOL displaysSearchBarInNavigationBar; @property UINavigationItem *navigationItem; @end
Multitasking
Relate Session
- What’s New with Multitasking
- UIKit Dynamic
- Relate Session
- Getting Started with UIKit Dynamics
- Advanced Techniques with UIKit Dynamics
- Exploring Scroll Views on iOS 7
Motion Effect
Relate Session
- Implementing Engaging UI on iOS
-[UIView drawHierarchyInRect:]
Relate Session
- Implementing Engaging UI on iOS
Adapting Your App for iOS 7
At a high level
- Focus on core functionality
- Exalt it
- Breathe new life
- Consider Retina’s possibilities
On an API level
- Adopt new text APIs
- Ensure view controllers are full screen
- Incorporate adaptive multitasking
- Create fluid view controller and collection view transitions • Consider dynamics and motion effects
Supporting both iOS 6 and iOS 7
- Use the iOS 7 UI Transition Guide
- Autolayout will help
- Consider backporting a new design
Related Sessions
- What’s New in Cocoa Touch
- What’s New with Multitasking
- Introducing Text Kit
- Customizing Your App’s Appearance for iOS 7
- Custom Transitions Using View Controllers
- Getting Started with UIKit Dynamics
Related Labs
- Cocoa Touch Lab
- Adapting Your Apps for iOS 7 Lab
- UIKit Dynamic Lab
- Text Kit and Core Text Lab
- Appearance Customization for iOS Lab
- Cocoa Touch Animation Lab