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
WWDC笔记:2013 Session 201 Building User Interfaces for iOS 7的更多相关文章
- WWDC笔记:2013 Session 203 What’s New in Cocoa Touch(未完)
Multitasking Background fetching New background mode fetch - (void)application:(UIApplication *)appl ...
- WWDC笔记:2011 Session 125 UITableView Changes, Tips and Tricks
What’s New Automatic Dimensions - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSect ...
- [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】
感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...
- webpy使用笔记(二) session/sessionid的使用
webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...
- MZY项目笔记:session歧路
from my typora MZY项目笔记:session歧路 文章目录 MZY项目笔记:session歧路 那该怎么办? 1. 手动加上cookie的header. 2.自己模拟一个Session ...
- WWDC 2013 Session笔记 - iOS7中的多任务
这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,但是还烦请保留原文链接,谢谢您的理解合作.如果您觉得本站对您能有帮助, ...
- WWDC 2013 Session笔记 - UIKit Dynamics入门
本文涉及到的WWDC2013 Session有 1.Session 206 Getting Started with UIKit Dynamics 2.Session 221 Advanced Tec ...
- Laravel学习笔记之Session源码解析(上)
说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助.Laravel在web middleware中定义了 ...
- 读书笔记2013第10本:《学得少却考得好Learn More Study Less》
<学得少却考得好Learn More Study Less>这本书最早是从褪墨网站上看到的,crowncheng翻译了全文.这本书介绍了不少学习方法,非常适合在校的学生,原文的作者Scot ...
随机推荐
- JAVA基础——内存流
掌握内存操作流 输入和输出都是从文件中来的,当然,也可将输出的位置设置在内存上,这就需要ByteArrayInputStream和ByteArrayOutputStream ByteArrayInpu ...
- librdkafka使用VS2015进行编译
抄了那么久的<kafka权威指南>,开始实操了,按照书本的介绍,kafka本身提供针对Java的原生API,其它语言如果需要使用kafka,那么就需要通过第三方库来做了,对了再书中一直提及 ...
- SpringBoot Banner 图片定制修改
启动Spring Boot项目的时候,在控制台会默认输出一个启动图案 这个图案如果你需要的话是可以自己修改的,修改方式很简单: 1. 在src/main/resources下新建一个banner.tx ...
- 安装lnmp
一.yum安装php 1.更新更新yum源:rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rp ...
- CentOS7安装Tomcat9并设置开机启动
1.下载 Tomcat 9 CentOS 7 下创建目录并下载文件: cd /usr/local/ mkdir tomcat cd tomcat wget http://mirrors.hust.ed ...
- buf.keys()
buf.keys() 返回:{Iterator} 创建并返回一个包含 Buffer 键名(索引)的迭代器. const buf = Buffer.from('buffer'); for (var ke ...
- Python之元祖
Python之元祖 tuple ( ) 元组和列表是一样的.但是,也有区别. 元组只能有读操作.没有修改删除操作. 列表是用中括号 [ ] 表示. 元组是用小括号 ( ) 表示. dir() 把传入的 ...
- 总结:常用的Linux系统监控命令(2)
判断I/O瓶颈 mpstat命令 命令:mpstat -P ALL 1 1000 结果显示: 注意一下这里面的%iowait列,CPU等待I/O操作所花费的时间.这个值持续很高通常可能是I/O瓶颈所导 ...
- Thinkphp5.0 的使用模型Model查询
Thinkphp5.0 的使用模型Model查询 一.查询多条记录 获取多个数据可以使用:select()方法和all()方法. 示例一:使用all()方法. //(1)筛选条件使用闭包函数 $res ...
- UVA 140_Bandwidth
题意: 定义一个结点的带宽是其距离所有相连结点的最远距离,一个图的带宽是图中所有结点带宽的最小值.给出一个图中各个结点的相邻情况,要求写出一个结点的排列,使得其所构成的图带宽最小. 分析: 枚举全排列 ...