WWDC笔记:2013 Session 201 Building User Interfaces for iOS 7

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  
posted @ 2013-07-12 23:40  归为虚无  阅读(2173)  评论(0编辑  收藏  举报