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

WWDC笔记:2013 Session 201 Building User Interfaces for iOS 7的更多相关文章

  1. WWDC笔记:2013 Session 203 What’s New in Cocoa Touch(未完)

    Multitasking Background fetching New background mode fetch - (void)application:(UIApplication *)appl ...

  2. WWDC笔记:2011 Session 125 UITableView Changes, Tips and Tricks

    What’s New Automatic Dimensions - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSect ...

  3. [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】

    感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...

  4. webpy使用笔记(二) session/sessionid的使用

    webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...

  5. MZY项目笔记:session歧路

    from my typora MZY项目笔记:session歧路 文章目录 MZY项目笔记:session歧路 那该怎么办? 1. 手动加上cookie的header. 2.自己模拟一个Session ...

  6. WWDC 2013 Session笔记 - iOS7中的多任务

    这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,但是还烦请保留原文链接,谢谢您的理解合作.如果您觉得本站对您能有帮助, ...

  7. WWDC 2013 Session笔记 - UIKit Dynamics入门

    本文涉及到的WWDC2013 Session有 1.Session 206 Getting Started with UIKit Dynamics 2.Session 221 Advanced Tec ...

  8. Laravel学习笔记之Session源码解析(上)

    说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助.Laravel在web middleware中定义了 ...

  9. 读书笔记2013第10本:《学得少却考得好Learn More Study Less》

    <学得少却考得好Learn More Study Less>这本书最早是从褪墨网站上看到的,crowncheng翻译了全文.这本书介绍了不少学习方法,非常适合在校的学生,原文的作者Scot ...

随机推荐

  1. JAVA基础——内存流

    掌握内存操作流 输入和输出都是从文件中来的,当然,也可将输出的位置设置在内存上,这就需要ByteArrayInputStream和ByteArrayOutputStream ByteArrayInpu ...

  2. librdkafka使用VS2015进行编译

    抄了那么久的<kafka权威指南>,开始实操了,按照书本的介绍,kafka本身提供针对Java的原生API,其它语言如果需要使用kafka,那么就需要通过第三方库来做了,对了再书中一直提及 ...

  3. SpringBoot Banner 图片定制修改

    启动Spring Boot项目的时候,在控制台会默认输出一个启动图案 这个图案如果你需要的话是可以自己修改的,修改方式很简单: 1. 在src/main/resources下新建一个banner.tx ...

  4. 安装lnmp

    一.yum安装php 1.更新更新yum源:rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rp ...

  5. CentOS7安装Tomcat9并设置开机启动

    1.下载 Tomcat 9 CentOS 7 下创建目录并下载文件: cd /usr/local/ mkdir tomcat cd tomcat wget http://mirrors.hust.ed ...

  6. buf.keys()

    buf.keys() 返回:{Iterator} 创建并返回一个包含 Buffer 键名(索引)的迭代器. const buf = Buffer.from('buffer'); for (var ke ...

  7. Python之元祖

    Python之元祖 tuple ( ) 元组和列表是一样的.但是,也有区别. 元组只能有读操作.没有修改删除操作. 列表是用中括号 [ ] 表示. 元组是用小括号 ( ) 表示. dir() 把传入的 ...

  8. 总结:常用的Linux系统监控命令(2)

    判断I/O瓶颈 mpstat命令 命令:mpstat -P ALL 1 1000 结果显示: 注意一下这里面的%iowait列,CPU等待I/O操作所花费的时间.这个值持续很高通常可能是I/O瓶颈所导 ...

  9. Thinkphp5.0 的使用模型Model查询

    Thinkphp5.0 的使用模型Model查询 一.查询多条记录 获取多个数据可以使用:select()方法和all()方法. 示例一:使用all()方法. //(1)筛选条件使用闭包函数 $res ...

  10. UVA 140_Bandwidth

    题意: 定义一个结点的带宽是其距离所有相连结点的最远距离,一个图的带宽是图中所有结点带宽的最小值.给出一个图中各个结点的相邻情况,要求写出一个结点的排列,使得其所构成的图带宽最小. 分析: 枚举全排列 ...