这一节主要介绍UITableView以及iPad,Demo为从Flicker下载图片并显示,但是实际过程中发现需要FQ并使用HTTPS连接,所以这次用了两个Demo,一个是课程中的Demo,另一个是简化的. 最后调试过程中还找到Xcode中观察变量的一个小技巧. 1.UITableView UITableView是iOS中最常用的表视图,通讯录中的联系人.手机设置里的每一个选项都是表视图中的一个单元格cell,微信.微博每一条记录其实也是一个cell,只不过是组成要素更多一些而已. (1)两个重…
这一节主要介绍了多线程中的串行队列以及滚动视图UIScrollView. 1 .多线程 这一节只是简单介绍了多线程的串行队列,即把任务加入线程队列后按顺序逐步执行. (1)目前iOS多线程提供的方法主要是GCD和NSOperation,前者是C语言级别的,后者是经过封装,更具有面向对象特性的API. (2)UI交互操作都是在主线程进行,所以为了保证交互过程的流程舒适,类似于下载等耗时操作就需要主线程外执行,否则将出现用户无法对手机进行操作的场景. 这时通过多线程,就可以使下载图片等耗时操作单独进…
1.变量类型别滥用id,如果不仔细容易在程序执行时引发错误,因为在编译阶段编译器只是检测变量对象所属类型,尤其是类型为id时代表任何类型都可以通过检查,但不会检测变量对象调用的方法,这样当对象所属类不包含所写的调用方法时,编译通过,但在程序运行时才会报错. 2.简单介绍了框架自带的集合.字体等. 3.通过使用NSAttributedString可以让屏幕显示的字体样式更丰富,设置各种样式等,详细参见附件的演示Demo:http://files.cnblogs.com/colinhou/Attri…
这一部分主要介绍了iOS的绘图.手势.协议.block.力学特效动画(包括重力.碰撞.吸附等)以及自动布局的内容. 1.绘图.手势 (1)调用一个自定义的UIView时,可以使用awakeFromNib方法做一些初始化工作. (2)iOS中绘图需要了解的常用测量单位: CGFloat:浮点值,与float一样: CGPoint.CGSize.CGRect是三个结构体分别代表游XY坐标描述的店.宽度高度描述的大小值以及由原点坐标.宽度高度描述的矩形,度量单位都是CGFloat. (3)自定义的UI…
1.MVC Model:模型 描述程序是什么,例如数据库操作之类的行文以及纸牌Demo里纸牌玩法都是写在Model这一层,通过Notification和KVO(后续文章会介绍)两种方式与Controller通讯. Controller:控制层 程序的逻辑在这里组织,Controller负责Model与View之间的沟通,因为Model与View老死不相往来. 当用户在页面进行操作后,Controller收集用户发出的交互信息,然后请教Model如何应对,Model收到Controller提出的问…
在这一话中我们将应用上一话学到的知识来为Demo添加手势识别,首先添加一个缩放的功能,其次添加一个拖动功能,使得小人的表情可以随着我们的手指改变. 首先来添加一个缩放手势的识别器,我们来到FaceView的代码中,之前定义了一个属性scal用来表示表情的缩放比例,现在我需要一个非私有的方法来修改这个值: func scale(gesture:UIPinchGestureRecognizer){ if gesture.state == .Changed { scal *= gesture.scal…
在上一话中我们创建了一个通过URL读取图片的Demo,这个Demo是不能拖动和缩放的.如今给它添加选项让它能够手动切换URL,并把图片加入到ScrollView中. 向Storyboard中拖入一个splitviewController.把ImageViewController作为detail视图,把project中自带的那个viewcontroller作为rootview,如今storyboard中的场景如图: 如今执行一下: 点击back能够切换到主界面,眼下这个界面是空的.我们须要向当中添…
首先感谢网易公开课和SwiftV课堂的朋友们辛苦翻译,这个系列是我学习斯坦福IOS8公开课的个人心得体会和笔记,希望能给大家带来启发. 首先我们要知道IOS系统中的结构情况,从贴近硬件的底层到贴近用户的顶层,分为四个层次: 1.Core OS层在最下层,很多人可能不知道IOS是一个基于UNIX的操作系统,它大量借鉴了Mac os X 的内核部分,Mac OS X我们肯定不会陌生,命令行的使用很好的证明了它是一个基于UNIX的系统.IOS针对移动设备对电池等硬件进行了系统的优化,但它仍可被看成是一…
原文链接不知道在哪, 接着上一话来讲,上一话中讲到了MVC,那么MVC在IOS8开发中是如何应用的呢?Paul Hegarty老师给我们展示了一个计算器的Demo,首先新建一个工程,老师把AppDelegate.swift.LaunchScreen.xib和Images.xcassests文件放到了supporting Files文件夹中,那么剩下的两个文件ViewController.swift就是MVC中的C(控制器),Main.storyboard就是MVC中的V(视图). 在Main.s…
之前我们接触过了segue,这是IOS中最主要的传递方式,今天来解说一下怎样进行反向的segue. 反向过渡的使用前提是发出过渡的MVC必须是由目标MVC直接或者间接正向过渡来的.反向过渡是唯一不会创造新的MVC的过渡方式,它有以下两个适用场景: 1非常适合在navigationController的栈中使用进行跳转. 2关闭一个使用modal Segue生成的MVC. 和其它的segue不同.不须要拖拽连线,直接拖拽须要点击反向过渡的控件到场景顶部的小门形状的button.就能够在当中选择我们…