iOS
文章平均质量分 85
整理笔记,以备复习!
white camel
星光不问赶路人, 时光不负有心人
展开
-
iOS 一一 storyBoard中segue实现页面跳转
什么是Segue?在storyBoard上每一根用来界面跳转的线,都是一个UIStoryBoardSegue对象.(简称Segue)Segue的属性每一个Segue对象,都有3个属性给Segue设置唯一标识:@property (nonatomic, readonly) NSString *identifier;来源控制器@propert原创 2017-09-06 14:07:23 · 3368 阅读 · 0 评论 -
iOS 一一 枚举类型
//// ViewController.m// Enum//// Created by 朝阳 on 2017/12/15.// Copyright © 2017年 sunny. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementati原创 2017-12-15 13:33:23 · 570 阅读 · 0 评论 -
iOS 一一 彩票
源码下载: https://github.com/coderZYGui/ZYLottery文章来源: http://blog.csdn.net/ab20514/article/details/49934281一 竞技场栏目实现自定义控制器的view- (void)loadView{ UIImageView *bgV = [[UIImageView alloc] ini转载 2017-11-05 15:47:43 · 696 阅读 · 0 评论 -
iOS 一一 彩票项目
源码地址: https://github.com/coderZYGui/ZYLottery效果图:主要知识点:一、结构搭建1. 项目主要框架及架构请参考:http://blog.csdn.net/m0_37989980/article/details/784364722. 项目结构 MVC3. 自定义TabBar4. 自定义导航条内容5. blo原创 2017-11-05 13:17:15 · 2224 阅读 · 0 评论 -
iOS 一一 项目搭建与架构
基本搭建1.必学三个东西1.主流的框架2.引导页3.界面主流的框架结构图:2.两种开发方式:1.Storyboard(界面太多,不好找)2.纯代码(界面比较多的时候用纯代码,利于后期扩展)3.回顾一下程序启动的思路 首先程序的入口是1.main函数-> UIApplicationMain ->2.创建UIAppli原创 2017-11-03 15:50:40 · 638 阅读 · 0 评论 -
iOS 一一 手势解锁
源码地址: https://github.com/coderZYGui/ZYGesturesUnlock效果图:实现思路:分析界面,当手指在上面移动时,当移动到一个按钮范围内当中, 它会把按钮给成为选中的状态.并且把第一个选中的按钮当做一个线的起点,当手指移动到某个按钮上时,就会添加一根线到选中的那妞上.当手指松开时,所有按钮取消选中.所有的线都清空.实现思路:原创 2017-11-11 20:39:07 · 401 阅读 · 0 评论 -
iOS 一一 frame和Bounds 以及frame和bounds区别
文章出处: http://www.jianshu.com/p/f972e0db785aiOS frame和Bounds 以及frame和bounds区别前言最近和大家交流的时候发现很多初学者,当然也有一些有经验的iOS开发者对view的frame和bounds了解的都不是很透彻;尤其是bounds很多朋友都糊了,bounds确实比较难理解,今天就给大家说说frame和bounds。转载 2017-11-09 12:51:58 · 335 阅读 · 0 评论 -
iOS 一一 触摸事件和手势
iOS触摸事件和手势文章出处:http://www.jianshu.com/p/cb0314b72883在iOS中,触摸表示用户手指触击屏幕及在屏幕上移动时,系统不断发送给应用程序对象,一个UITouch对象表示一个触摸,一个UIEvent表示一个事件手势是指从一个或多个手指接触屏幕开始,直到手指离开屏幕为止发生的所有事情。手势是触摸事件的集合简介iOS 事件分为三转载 2017-10-14 14:51:56 · 851 阅读 · 0 评论 -
Quartz2D简介
Quartz2D简单介绍文章出处 : http://www.cnblogs.com/wendingding/p/3778940.htmliOS开发UI篇—Quartz2D简单介绍一、什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\矩形\圆\弧转载 2017-10-13 14:16:06 · 506 阅读 · 0 评论 -
iOS 一一 Runloop
1.Runloop基础知识1.1 字面意思 a 运行循环 b 跑圈1.2 基本作用(作用重大) a 保持程序的持续运行(ios程序为什么能一直活着不会死) b 处理app中的各种事件(比如触摸事件、定时器事件【NSTimer】、selector事件【选择器·performSelector···】) c 节省CPU资源,提高程序性能,有事情就做事情,没事原创 2018-01-12 13:47:32 · 230 阅读 · 0 评论 -
Runtime 一一 runtime简介
Runtime又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。[receiver message];// 底层运行时会被编译器转化为:objc_msgSend(receiver, selector)// 如果其还有参数比如:[receiver message:(id)arg...];// 底层运行时原创 2018-01-26 11:21:31 · 273 阅读 · 0 评论 -
CocoaPods使用和安装
iOS安装CocoaPods详细过程 简书《my_杨哥》原创,转载请联系作者获取授权并标明文章作者及出处:http://www.jianshu.com/p/9e4e36ba8574谢谢,有良知有道德的人!一、简介什么是CocoaPodsCocoaPods是OS X和iOS下...转载 2018-03-05 14:36:05 · 186 阅读 · 0 评论 -
iOS 一一 pageController界面
效果图如下:项目调用顺序:1. 初始化标题scrollView --> 2.初始化内容scrollView --> 3. 添加所有子控制器 setupAllChildViewController--> 4. 设置所有标题 setupTitle --> 5. 标题点击方法 titleChilk: --> 6. 点击标题时,改变标题颜色 switchColor:-->...原创 2018-02-21 17:06:47 · 1576 阅读 · 0 评论 -
iOS 一一 仿写UITabBarController
效果图如下:知识点:1. 界面布局, 底部的button和显示的子控制器都分别使用用UIView来存放,方便后面使用.2. 使用父子控制器知识,将所有的子控制器添加到ViewController中.3. 通过遍历ViewController中的子控制器,来给button设置标题.4. 当点击button的时候,将对应的子控件添加上去.并移除之前的界面( makeObjectPerformSelec...原创 2018-02-21 15:28:32 · 270 阅读 · 0 评论 -
Runtime 一一 runtime实现字典转模型,多级转换.
请先看上篇博客: KVC实现字典转模型思路: 利用运行时,取出模型中所有的属性,根据模型的属性名,去字典中查找对应的key,然后给模型中的属性赋值.实现: 提供一个NSObject分类,专门用来字典转模型,以后所有的模型都可以通过这个分类来转.知识点:① 给NSObject写一个分类,专门用来 字典转模型② 成员变量和属性的区别 1. 例如 @property NSSt原创 2018-01-26 17:42:36 · 424 阅读 · 0 评论 -
iOS 一一 KVC实现字典转模型
一、使用KVC实现字典转模型1. 加载plist文件,将plist文件转为字典2. 字典转模型注意: 使用KVC的 setValuesForKeysWithDictionary: 方法为模型属性赋值时, 必须保证模型的属性名和plist中的属性名完全相同,否则会报setValue:forUndefinedKey: 错误.当plist文件中有很多属性,我们在模型中的属性名也要和p原创 2018-01-26 17:10:21 · 474 阅读 · 0 评论 -
Runtime 一一 runtime使用-动态添加方法和属性
一、动态添加方法应用场景: 当一个类的方法非常多,加载类到内存的时候比较耗资源,需要给每个方法生成映射表. 此时可以动态给某个类添加方法面试题: 是否使用过performSelector, 其实就是想问你有没有动态添加过方法知识点:1. 所有的方法,默认都有 id self, SEL_cmd 这两个隐式参数. _cmd表示当前方法的方法编号2. + (BOOL)resolv原创 2018-01-26 15:12:35 · 1021 阅读 · 0 评论 -
Runtime 一一 runtime作用-交换方法
Runtime(交换方法)应用场景: 系统自带的方法功能不够,给系统自带的方法扩展一些功能,并保持原有的功能.假如有一个需求: 有一个项目,已经开发2年,突然项目经理要求添加一个功能,每次加载UIImage图片,返回是否加载成功.解决方法1: 自定义UIImage,重写imageNamed方法.弊端: 1. 每次使用,都需要导入自定义的类 2. 项目大了实现困难#import "Z原创 2018-01-26 12:25:31 · 422 阅读 · 0 评论 -
Runtime 一一 runtime作用-发送消息
OC中任何方法的调用本质: 发送一个消息,用runtime发送消息,OC底层实现通过runtime实现.使用场景:1. 当调用私有方法的时候,可以使用runtime来发送消息- (void)viewDidLoad { [super viewDidLoad]; // 使用runtime发送消息的应用场景: // 1. 当调用一些私有的方法时,可以使用原创 2018-01-26 11:38:59 · 371 阅读 · 0 评论 -
iOS核心动画 一一 QQ粘性效果
源代码地址: https://github.com/coderZYGui/ZYQViscousEffect效果图如下:整体思路:手指移动,按钮跟着移动,按钮跟着手指移动,移动时底部有一个圆(称为小圆),根据上面的大圆按钮拖动的距离,小圆的半径不断变小,移动时中间有一块不规则的填充区域,手指移动超过一定的范围,填充效果消失,当手指松开时,判断当前大圆距离与小圆之间的距离.原创 2017-10-22 12:13:36 · 686 阅读 · 0 评论 -
如何戒掉王者荣耀
看了别人写的如何戒掉王者荣耀,就想到自己如何戒掉英雄联盟,这篇文章中有的内容确实是我历经的,写的非常好。文章出处:http://blog.devtang.com/2017/07/09/how-to-get-rid-of-games/浅谈自己先说说自己的英雄联盟之路,从2015年年底接触英雄联盟这个游戏,这个游戏伴随了我两年办的时光。就从今年的6月10号,博主决定放弃这个既浪转载 2017-08-16 09:33:23 · 2009 阅读 · 0 评论 -
iOS核心动画 一一 钟表
本文源代码请参考: https://github.com/coderZYGui/ZYClocks效果如下图:实现思路: 1. (秒针) 根据CALayer创建一个secLayer,让secLayer旋转,默认是绕着锚点(0.5,0.5)旋转(中心), 显然要修改锚点的位置为secLayer的底部,因此设置锚点为(0.5,1). 2.原创 2017-10-18 20:15:37 · 371 阅读 · 0 评论 -
iOS 一一 自定义cell按钮的点击事件(KVO)
KVO : Key Value Observing (键值监听)当某个对象属性值发生改变的时候.可以使用KVO监听代码如下:ZYOperationButton文件#import // 自定义按钮@interface ZYOperationButton : UIButton@end@implementation ZYOperationButton原创 2017-08-19 15:14:21 · 1682 阅读 · 0 评论 -
iOS 一一 自定义cell按钮的点击事件(通知机制)
使用通知机制来实现 自定义cell按钮的点击事件.使用通知机制来实现,没有使用代理的方式规范.代理方式的链接: http://blog.csdn.net/m0_37989980/article/details/774070731. 当点击cell上面的按钮. 发布通知2. 在控制器的viewDidLoad方法中监听通知.实现监听通知的方法3. 移除通知原创 2017-08-19 11:28:37 · 2400 阅读 · 0 评论 -
iOS 一一 通知机制
什么是通知机制通知中心(NSNotificationCenter)每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么。其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知原创 2017-08-19 11:16:50 · 502 阅读 · 0 评论 -
iOS 一一 自定义cell按钮的点击事件(代理)
效果图如下:效果分析:1. 先布局界面,界面由UITableView,和底部的UIView构成,所以控制器只需要继承自UIViewController就可以了2. 设置UITableView的界面,给每个cell中设置数据模型. 给底部UIView添加控件及设置约束3. UITableView每一个cell上面都有减号,加号按钮,应该自定义按钮4. 当点击加号,原创 2017-08-19 10:49:39 · 1370 阅读 · 0 评论 -
iOS 一一 AutoLayout之VFL实现
VFL(Visual Format Language)ps:看这篇文章之前最好先对约束有点了解,如果不了解,可以去看看我的另一篇文章,苹果原代码实现Autolayout之前已经为大家简单介绍了用苹果原API实现Autolayout,现在我来介绍另一种Autolayout的实现方法VFL是什么时候出的我也不记得了哈,它的出世是为了减轻原API带来的繁琐我个人认为VFL其实也没好到哪儿去,转载 2017-08-10 22:36:21 · 263 阅读 · 0 评论 -
iOS 一一 AutoLayout之Masonry实现
MasonryMasonry是公认非常简洁优美的一款Autolayout框架我推荐大家重点学习这个框架我会把Autolayout的思维融合这个框架一起讲解Masonry的使用想要使用第三方Masonry要么要去GitHub上下载原代码下来拖进项目中,要么就直接使用cocoapods,pod search Masonry,下载最新版cocoapods的使用不是本文讨论的范围,大家可以原创 2017-08-10 22:41:50 · 307 阅读 · 0 评论 -
iOS 一一 AutoLayout之代码实现
Autolayout如今Autolayout已经非常强大了,很多公司都在使用这个功能,接下来我就来分别介绍几个Autolayout实现方法。Autolayout的实现有很多种,苹果原API,之后的VFL,storyboard,第三方Masonry,每种抽出来都是一篇长长的文章,我会分开写,然后依次发表出来,大家可以挑选自己想要的方法来观看在此之前,我先提出我对Autolayout的总结,这转载 2017-08-10 22:25:12 · 922 阅读 · 0 评论 -
iOS 一一 AutoLayout之XIB实现
随着iOS设备屏幕尺寸的增多,当下无论是纯代码开发还是Xib/StoryBoard开发,自动布局已经是必备的开发技能了。我使用自动布局也有一段时间了,遇到了不少问题,在解决的过程中也收获了很多知识。尤其是在使用熟练之后开发速度上的提升非常明显。这里把AutoLayout的基本使用和个人使用心得汇总一下,希望能帮助到大家!适配的概念适配主要分两种系统适配系统适配主要指适配原创 2017-08-09 22:45:17 · 770 阅读 · 0 评论 -
iOS 一一 根据storyBoard加载window根控制器的View
1.加载指定的storyBoardUIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];2.加载箭头所指向的控制器.UIViewController *vc = [storyBoard instantiateInitialViewController];3.加载指定标识原创 2017-08-25 16:42:12 · 748 阅读 · 0 评论 -
iOS 一一 根据xib加载window根控制器的View
一般情况下: Main.storyBoard中拖入的都是控制器 xib中拖入的都是UIView加载方式: 1.给xib绑定要描述的控制器2.连线3.MyViewController *vc = [[MyViewController alloc] initWithNibName:@"VC" bundle:nil];ini原创 2017-08-25 16:48:07 · 462 阅读 · 0 评论 -
iOS 一一 核心动画
iOS开发基础知识:Core Animation(核心动画)Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。Core Animation可以用在Mac OS X和iOS平台。Core Animation的动画执行过程都是在后台操作的,不会阻塞转载 2017-10-18 16:55:36 · 369 阅读 · 0 评论 -
iOS 一一 触摸事件
iOS中的事件在用户使用app过程中,会产生各种各样的事件iOS中的时间可分为以下3大类型响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接受并处理事件,我们称之为"响应者对象"UIApplication,UIViewController,UIView都继承UIResponder,因此他们都是响应者对象原创 2017-09-21 14:56:30 · 308 阅读 · 0 评论 -
Xcode9:最新功能详细介绍
文章出处:感谢原著一只会编程的狼XCODE 9:最新功能详尽介绍WWDC17 带来许多令人兴奋的好消息,iOS 11, Swift 4 和 Xcode 9,每个都有非常大的进步。但对 App 开发者来说,马上可以派上用场的莫过于 Xcode,毕竟我们开发的 App,可能不需要 iOS 11 的 AR 和 machine learning 功能,程式码也不见得会用到 Sw转载 2017-09-23 20:53:47 · 1588 阅读 · 0 评论 -
总结: 堆、栈、队列
文章出处: http://www.imlifengfeng.com/blog/?p=147转载 2017-08-30 11:03:29 · 275 阅读 · 0 评论 -
iOS 一一 Block详解
浅显易懂Bolck : http://www.imlifengfeng.com/blog/?utm_medium=email&utm_source=gank.io&p=457转载 2017-08-30 11:01:18 · 291 阅读 · 0 评论 -
iOS 一一 数据存储
iOS应用数据存储的常用方式XML属性列表(plist) 归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLine3Core Data本篇博客只介绍前三种存储的常用方式.后两种后续会继续更新.在讲述iOS数据存储之前.首先要了解什么是应用沙盒,以及沙盒中的目录结构.应用沙盒每个iOS应用都有自己的原创 2017-09-13 09:01:23 · 404 阅读 · 0 评论 -
iOS 一一 项目中的常见文件
一、 项目中常见的文件--LaunchScreenXcode5 和 Xcode 7的区别: 1.Xcode5有个FrameWorks,存放框架, Xcode7自动导入框架,用到什么框架时,自动导入框架, 2.Xcode7当中多了一个LaunchScreen.storyboard,用来设置启动页面, 如果没有设置启动页面,默认它的屏幕的大小是原创 2017-08-25 14:36:00 · 402 阅读 · 0 评论 -
iOS开发如何提高
转载自唐巧的博客: http://blog.devtang.com/2014/07/27/ios-levelup-tips/昨天晚上瞎逛博客,发现上面唐巧的博客,看了他好多写过的博客,有技术博客,还有一些随笔写的非常好,希望大家可以看看文章目录1.阅读博客2.读书3.看 WWDC 视频4.看苹果的官方文档5.看开源项目的代码6.多写代码,转载 2017-08-16 09:02:06 · 310 阅读 · 0 评论