- 博客(22)
- 收藏
- 关注
原创 手势识别
手势识别 关于手势这一块,iOS原生的手势就有6种,点按,长按,轻扫,拖拽,缩放,旋转,后面我将一一介绍这些手势 控件交互 简单来说,控件交互就是指我们点击了某个视图view,这个view会不会触发我们想要的效果,控件不接收交互主要有以下5种情况: 1、控件的透明度 2、控件被设置成了hidden 3、在storyboard中右侧列表指定控件的userInteractionEnab
2017-04-02 23:59:47
428
转载 01-iOS获取系统iTunes音乐
iOS获取系统iTunes音乐 1.1-简介1.2-使用系统自带的控制器选择iTunes歌曲1.3-只获取iTunes中的数据,自定义界面1.4—完整代码 1.1-简介 获取类型iTune音乐非常类似于UIKit框架中UIImagePickerController图片选取器的用法,既可以直接使用系统自带的媒体选择器也可以只获取系统的数据加载到自定义界面中 与UIIm
2017-03-29 23:28:14
1715
原创 数据的本地化存储
数据存储 因为之前的笔记丢失/(ㄒoㄒ)/~~,所以博主就简单的写个mindnote说明下数据存储这一块(其实是懒)注:不包含数据库存储,数据库存储有空再补上
2017-03-25 17:02:50
867
原创 导航控制器及TabBar控制器
导航控制器 UINavigationController UINavigationController 结构示意图 掌握的概念 以栈的方式管理子视图控制器 入栈/压栈 addObject:出栈 removeLastObject UINavigationController —— 导航控制器 view —— 导航控制器的容器视图 UINavigation
2017-03-23 19:56:33
1153
原创 UIApplicationDelegate 和 UIApplication 的关系
UIApplication概念 main.m 解读 int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } 任何一个 C 语言的程
2017-03-23 19:25:59
540
原创 应用程序的控制器
应用程序启动原理 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bo
2017-03-23 18:53:17
498
原创 KVC,字典转模型 & 泛型数组
字典转模型 & 泛型数组 开发中,为了简化控制器和视图中的代码编写,通常是不针对字典直接操作的。为了简化程序员的开发,苹果提供了 KVC(key value coding) 技术 KVC 又被称为苹果开发的大招 目标 掌握 KVC 的字典转模型和模型转字典方法 字典转模型 setValuesForKeysWithDictionary 使用自定的字典转换成模型使用细节:
2017-03-23 17:20:50
592
原创 UIScrollView的代理方法
UIScrollView 代理介绍 常用代理方法 scrollViewDidScroll: 滚动视图滚动时使用scrollViewDidEndDecelerating: 滚动视图停止滚动时使用viewForZoomingInScrollView: 缩放视图时使用 协议方法 滚动相关方法 /// 滚动视图开始滚动 - (void)scrollViewDidScroll:(UIScrol
2017-03-16 01:06:20
420
原创 UIScrollView的基本属性
UIScrollView 常用属性 和 方法 常用属性 滚动内容属性 /// 内容偏移位置 @property(nonatomic) CGPoint contentOffset; // default CGPointZero /// 内容大小,设置了才可以滚动 @property(nonatomic)
2017-03-16 01:02:16
353
原创 代理(delegate)设计模式
代理设计模式 知识点掌握 什么是设计模式代理设计模式的作用掌握 iOS 开发中,代理设计模式的工作原理和代码实现 什么是设计模式 设计模式的产生是在无数份代码的经验累积下产生的每一个设计模式用于解决一种问题在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,
2017-03-14 15:09:05
1043
原创 UIScrollView 的基本使用
UIScrollView 基本使用 UIScrollView 的三个属性 contentSize 设置滚动区域,只有设置了滚动区域才能够滚动contentOffset 设置滚动内容偏移,决定当前显示的内容contentInset 设置滚动外框的偏移 UIScrollView 无法滚动原因 UIScrollView 设置弹簧效果 & 滚动指示器 常用属性演练 准备工作
2017-03-13 11:50:03
379
原创 Masonry 框架的使用
Masonry 框架 目标 理解 Masonry 框架的基本使用差不多是使用最为广泛的自动布局框架下载地址:https://github.com/SnapKit/Masonry掌握 Masonry 的三个核心函数知道 Masonry 的两个宏 /// 构建约束 mas_makeConstraints /// 更新约束 - 修改已经建立的约束,如果约束不存在,会在控制台输出错误 mas_
2017-03-11 22:24:10
4608
原创 代码添加约束如何实现
代码添加约束 目标 理解用纯代码设置自动布局约束的方法理解为什么在使用自动布局开发时,千万不要修改 frame?理解 VFL 语法 提示:自动布局方法的参数很多,第一次接触难免会有抵触情绪 但是参数的含义很容易懂! 为什么要学习纯代码的自动布局? 自己开发第三方框架会使用 其他第三方框架中会使用,遇到时能够看得懂 知识点 理解用 NSLayoutC
2017-03-11 01:00:58
991
原创 storyboard中的自动布局
自动布局界面介绍 目标 熟悉自动布局界面理解为什么是头尾布局而不是左右对齐理解基线对齐含义在使用代码布局时,头尾布局和左右布局不能混用 自动布局工具 在 Interface Builder 的编辑区域底部有一个工具条,提供了界面布局的相关工具 按钮介绍 align:设置对齐pin:设置位置align:解决自动布局问题 基线对齐示意图
2017-03-11 00:59:25
660
原创 iOS屏幕适配发展历程
iOS屏幕适配发展历程 早期 iOS —— frame + autoresizing 直接使用 frame 计算控件的位置 特点:程序中存在大量的 MagicNumber iPhone3GS \ iPhone4 \ iPhone4S 屏幕的物理尺寸是一样的(无需屏幕适配)而且一个应用要么是横屏要么是竖屏, 几乎不存在能同时进行横竖屏切换的应用 应用程序都是竖屏游戏几乎都是
2017-03-10 16:05:08
512
原创 storyboard的简单使用
Storyboard 的简单使用 目标 区分 storyboard(故事板) 和 scene(场景)设置类前缀界面与程序的关联关系的建立 术语:Interface Builder 在早期版本的 iOS 开发包中,拖拽界面是一个完全独立的应用程序,叫做 Interface Builder 从 Xcode 4.0 开始 Interface Builder 和 Xcode 整合在了一起
2017-03-10 11:54:03
582
原创 storyboard的连线
连线 目标 连线前准备 界面绑定代码文件界面仅仅只是用来显示,那么如果想写代码必须写在代码文件中。并且代码只能写在跟这个界面所绑定的代码文件中因为所有界面内容都在ViewController里面,所以要点黄色的“小铜钱”给这个ViewController绑定一个代码文件,绑定好后就可以把代码和连线弄在这个代码文件里了 连线的目的 通过连线才能够访问 Interface
2017-03-10 11:52:35
1113
原创 GCD线程与runloop中添加timer的见解
GCD与NSTimer 很多时候,我们需要在自己的项目中重复、延迟、周期性的执行某一项任务,也可能在某一个时间点取消掉自己已经延迟或重复的任务 显而易见,延迟操作我们最经常使用的是GCD的dispatch_after,但延迟操作一共有三种方法,今天就简单说说其中的区别 1.NSObject的对象方法: - (void)performSelector:(SEL)aSelector w
2017-03-09 23:53:38
2116
原创 UIButton的基础
按钮示例 目标 掌握按钮的不同样式掌握按钮的图像的设置掌握 UIKit 坐标系掌握修改 frame 的方法通过纯代码的方式创建并使用按钮代码重构的简单演练 代码演练 按钮的几种状态 storyboard 开发 /// 方向枚举类型 typedef enum : NSUInteger { CZDirectoryLeft = 100, CZDirectoryTo
2017-03-09 17:16:20
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人