新闻中心> 文章详情

南京iOS应用开发培训 iOS自适应布局技术

2015年11月09日

  iOS 8 SDK 随 Swift 同步推出,但得到的关注却远远小于后者。尤其是国内的开发者,对新 SDK 的研究和了解更是乏善可陈。实际上, iOS 8 为开发者带来的机遇,远甚于苹果的新晋开发语言 Swift。


  苹果全新设计了 iOS 8,为它添加了大量新特性,包括自适应布局,App 扩展, Cloud Kit、 Health Kit 以及经过精心设计的游戏开发框架。而在本课程中,学习者将跟随讲师一道,深入了解 iOS 8 的最新UI 布局技术,即iOS8的自适应布局。


  iOS 设备早已不是当初“一种设备、一个屏幕分辨率”的情况。随着苹果公司产品线的不断丰富, iOS 设备的屏幕尺寸和分辨率的种类也越来越多。这意味着 App 开发者需要针对每一种设备的屏幕尺寸和分辨率做出单独的设计。这无疑是让人痛苦的事情。


  但是,故事板和自动布局的出现极大地缓解了这个问题。现在你可以更灵活地定义在不同分辨率下控件( UI 元素)的位置和尺寸,而不用单独指定每个控件的位置和尺寸。当然,自动布局技术要比想象中的更复杂,它拥有着陡峭的学习曲线,往往令程序员望而却步。南京iOS应用开发培训


  在 iOS 8 中,苹果在故事板的自动布局技术中又添加了新的元素:自适应布局。


  课程安排(每课时长为10-30分钟)


  第一章:故事版与自适应布局


  1、开始:主要介绍一些基本概念,如Universal故事版和预览助手编辑器。


  2、Size类:理解Size类的基本概念和使用。


  3、自适应字体及设备相关图片:字体样式即图片可根据Size变化而改变。


  4、自适应单元格:让表格单元格自行计算自己的高度。


  5、自动安装视图:根据Size类动态安装、卸载视图。


  第二章:自适应布局进阶


  6、UITraitCollection:iOS8中,引入了新的UITraitCollection类,用于解决自动布局的的问题。


  7、Size相关图片:iOS8中,Images.xcasset中的图片可以按照Size类进行组织。南京iOS应用开发培训


  8、UIAppearance和Size类:从 iOS 8 开始, UIAppearance 协议增加了根据 Size 类改变 UI 样式的 API。


  第三章:UISplitViewController及旋屏


  9、开始:创建一个UISplitViewController实例项目。


  10、iPhone APP:在iOS8中,iPhone APP也可以使用UISplitViewController了。


  11、iPad APP:对iPad进行适配。


  12、旋屏:iOS8使用新的旋屏方法,即通过Size的改变来通知APP旋屏。


  13、自定义旋屏:iOS8扩展了iOS7中的ITransitionCoordinator,由于处理Size发生改变后的旋屏效果。


  14、单元格自适应:旋屏后,使用ewWillLayoutSubviews 方法来让自动布局引擎重新按照我们的规则计算单元格的布局。


  15、iPad旋屏:iPad的旋屏处理与iPhone不同。


  16、自适应的自定义控件:学习如何定制自己的 UIView 子类,使它能根据 Trait Collection 的变化做出改变。


  第四章:UIPresentationController


  17、UIAlertController:演示内置的UIAlertController类的使用。


  18、UIPopoverPresentationController:演示内置的UIPopoverPresentationController类的使用。


  19、UISearchController:演示内置的UISearchController的使用。南京iOS应用开发培训


  20、自定义UIPresentationController:演示创建自己的UIPresentationController。


  21、自定义呈现动画:演示如何通过UIViewControllerTransitioningDelegate 协议和UIViewControllerAnimatedTransition 协议自定义呈现动画。


上一篇下一篇
按时发顺丰

技术交流群

Java大数据交流群560819979    加入
Python技术交流群595083299    加入
Oracle技术交流群595119011    加入
Web前端技术交流群604697610    加入
Huawei技术交流群482919361    加入
Redhat技术交流群587875348    加入
UI设计技术交流群511649801    加入
Cisco技术交流群596886705    加入
IT运维技术交流群605888381    加入