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 ...
随机推荐
- 13C++异常处理
异常处理 14.1.1 异常处理的任务 程序编制者不仅要考虑程序没有错误的理想情况,更要考虑程序存在错误时的情况,应该能够尽快地发现错误,消除错误. 程序中常见的错误有两大类: 语法错误和运行错误.在 ...
- vue中的组件传值
组件关系可以分为父子组件通信.兄弟组件通信.跨级组件通信. 父传子 - props 子传父 - $emit 跨级可以用bus 父子双向 v-model 父链(this.$parent this.$ch ...
- 【Hadoop】一、分布式数据库HBase简介
1.分布式数据库特点 说到数据库,我们最熟悉的是类似于mysql这样的关系型数据库,称为RDBMS.关系型数据库作为一种数据存储和数据检索的关键技术,它支持SQL语言的结构化查询,但是它天生不是为 ...
- react-native Android WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
android Studio 中打开react-native项目的android文件夹 在sync的过程中 发生warning: WARNING: API 'variant.getMergeAsset ...
- mycat——未完成
https://www.cnblogs.com/joylee/p/7513038.html https://blog.csdn.net/wrs120/article/details/80417345 ...
- 一个页面从输入URL到加载显示完成,发生了什么?
面试经典题--URL加载 一.涉及基本知识点: 1. 计算机网络 五层因特尔协议栈: 应用层(dns.http):DNS解析成IP并完成http请求发送: 传输层(tcp.udp):三次握手四次挥手模 ...
- nginx+redis安装配置(内存型数据库)实现session的共享
注意:借鉴原文章:http://www.cnblogs.com/roy-blog/p/7196054.html 感兴趣的可以加一下481845043 java交流群,共同进步. 1 session的概 ...
- LeetCode(36)Valid Sudoku
题目 Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could ...
- 【03】AJAX 向服务器发送请求
AJAX 向服务器发送请求 创建 XMLHttpRequest 对象后,就可以向服务器发送请求了. XMLHttpRequest 对象的 open() 方法和 send() 方法用来向服务器发送请 ...
- [luoguP2827] 蚯蚓(堆?队列!)
传送门 35分做法 用堆来取最大值,暴力更新其余数的值. 65~85分做法 还是用堆来取最大值,其余的数增加可以变成新切开的两个数减少,最后统一加上一个数. #include <queue> ...