-
Xcode清楚缓存、清理多余证书路径
摘要:Xcode清除缓存、清理多余证书 1、删除Xcode中多余的证书provisioning profile 手动删除: Xcode6 provisioning profile path: ~/Library/MobileDevice/Provisioning Profiles 2、清理Xcode编译项
阅读全文
-
时钟动画
摘要:序言 笔者对动画是很钟情的,今天我们一起来学习学习如何通过Core Animation实现钟的秒针、分针和时针无限动画移动,与苹果手机上的世界闹钟中的秒针、分针和时针类似。通过观察,笔者感觉是动画来实现的,而不是定时针。 不过,这里提供了两种方式来实现: 通过定时器实现刷新,与挂钟一样,移动没有动画
阅读全文
-
CAlayer层的属性
摘要:一、position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGPoint
阅读全文
-
CALayer和UIView
摘要:前言 本次分享将从以下方面进行展开: 关于Core Animation在iOS系统中的关系图如下: 可以看出,Core Animation是相对上层的封装,介于UIKit与Core Graphics、OpenGL/OpenGL ES之间。最底下还有一个Graphics Hardware,就是硬件了!
阅读全文
-
iOS 7 present/dismiss转场动画
摘要:前言 iOS 7以后提供了自定义转场动画的功能,我们可以通过遵守协议完成自定义转场动画。本篇文章讲解如何实现自定义present、dismiss自定义动画。 效果图 本篇文章实现的动画切换效果图如下: 视图切换种类 如下效果图,这是有两大类视图切换动画的,一种是交互式的,另一种就是自定义的。 本篇只
阅读全文
-
iOS7 push/pop转场动画
摘要:前言 iOS 7之后,苹果提供了自定义转场动画的API,我们可以自己去定义任意动画效果。本篇为笔者学习push、pop自定义转场效果的笔记,如何有任何不正确或者有指导意见的,请在评论中留下您的宝贵意见!!! 请注意:如果要求支持iOS 7以下版本,则不可使用此效果。 实现目标效果 我们本篇文章目标效
阅读全文
-
CATransition
摘要://subtype: 设置方向 // anim.subtype = kCATransitionFromRight; 属性:@property(copy) NSString *type; @property(nullable, copy) NSString *subtype; @property fl
阅读全文
-
CABasicAnimation
摘要:前言 本教程写了这个效果图的demo,同时总结CABasicAnimation的使用方法。 看完gif动画完,看到了什么?平移、旋转、缩放、闪烁、路径动画。 实现平移动画 实现平移动画,我们可以通过transform.translation或者水平transform.translation.x或者垂
阅读全文
-
CAAnimation
摘要:序言 CAAnimation是一个抽象类,遵循了CAMediaTiming协议和CAAction协议!我们不要直接使用CAAnimation类,而是使用其子类: CATransition:提供渐变效果,如推拉push效果,消退fade效果,揭开reveal效果 CAAnimationGroup:允许
阅读全文
-
CALayer
摘要:前言 CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。后面要学Core Animation就应该先学好Layer(层)。 我们看一下UIView与Layer之间的关系图(图片来源于网络): 我们知道,UIView有一个属性laye
阅读全文
-
CAShapeLayer和贝塞尔曲线配合使用
摘要:前言 CAShapeLayer继承自CALayer,因此,可使用CALayer的所有属性。但是,CAShapeLayer需要和贝塞尔曲线配合使用才有意义。 关于UIBezierPath,请阅读文章:iOS UIBezierPth精讲 基本知识 看看官方说明: 1 2 3 4 5 6 7 8 9 /*
阅读全文
-
UIBezierPath
摘要:前言 笔者在写本篇文章之前,也没有系统学习过贝塞尔曲线,只是曾经某一次的需求需要使用到,才临时百度看了一看而且使用最基本的功能。现在总算有时间停下来好好研究研究这个神奇而伟大的贝塞尔先生! 笔者在学习时,首先看了两遍UIBezierPath类头文件定义,熟悉了一下相关的属性和方法。 基础知识 使用U
阅读全文
-
CollectionView垂直缩放卡片布局
摘要:实现效果 实现思路 从效果图可以看到变化是,越是往中间滚动的item显示最大,越显眼。而越是往前面,或者越是后面的,反而显示越小,这样就形成了视觉差。 实现的思路就是通过重写在可见范围内的所有item的方法: 1 2 3 - (NSArray<UICollectionViewLayoutAttrib
阅读全文
-
CollectionView缩放水平卡片布局
摘要:实现效果 实现思路 从Demo效果图中,可以看出来,主要是缩放系数的计算。对于不同距离的cell,其缩放系数要变化,以便整体协调显示。 所以,我们必须重写-layoutAttributesForElementsInRect:方法来实现所有当前可见的cell的attributes。 计算比例,通过获取
阅读全文
-
CollectionView旋转水平卡片布局
摘要:概述 UICollectionView真的好强大,今天我们来研究一下这种很常见的卡片动画效果是如何实现了。本篇不能太深入地讲解,因为笔者也是刚刚摸索出点眉目,但是并没有深刻地理解。如果在讲解过程中,出现不对的地方,请及时反馈。 效果图 重写API 1 2 3 4 5 6 7 8 9 10 11 12
阅读全文
-
UICollectionView与UITableView混用手势冲突
摘要:前言 最近在重构某个模块,以后别人封装的所谓的基类就像一坨死一样,看见就恶心,相信同行的你们能够明白那种心情。为什么要重构?并不是真的因为它像一坨死,而是因为这个模块是用户使用最频繁的,而且出现了不少bug,最重要的是这bug还是p1级别的致命bug。 曾经经过了几天的压力测试都没有复现出来,但是用
阅读全文
-
CollectionView网格布局
摘要:概述 说句老实话,UICollectionView真的太强大了,而且要掌握高级部分是相当困难的。至少笔者是这么认为的,如果觉得自己比较厉害,可以轻而易举地掌握UICollectionView的使用的,希望可以总结点经验! 本篇文章是在练习如何使用UICollectionView进行网格布局。网格布局
阅读全文
-
UICollectionView基础/UICollectionViewCell的四种创建方式
摘要:前言 UICollectionViewCell的四种创建方式:http://blog.csdn.net/ZC_Huang/article/details/52002302 这个控件,看起来与UITableView有点像,而且基本的用法也很相像哦!!! 我们来看看API: 1 2 3 4 5 6 7
阅读全文
-
iOS9适配
摘要:前言 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK新特性。9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级iOS9,也就逐渐的衍生出了一系列的问题,笔者也在赶忙为自己维护的App做适配,本文写的一些坑基
阅读全文
-
Masonry复杂ScrollView布局
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry scrollview循环布局
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry tableviewCell布局
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry 比例(multipliedBy)
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry自动布局:复合约束
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry整体动画更新约束
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry remake更新约束
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry 动画更新约束
摘要:前言 说到iOS自动布局,有很多的解决办法。有的人使用xib/storyboard自动布局,也有人使用frame来适配。对于前者,笔者并不喜欢,也不支持。对于后者,更是麻烦,到处计算高度、宽度等,千万大量代码的冗余,对维护和开发的效率都很低。 笔者在这里介绍纯代码自动布局的第三方库:Masonry。
阅读全文
-
Masonry基本用法
摘要:使用步骤: 1.导入框架 2.导入头文件,或者直接导入.pch文件中 3.实例1>:假设有个红色的View,居中显示,尺寸100.效果图: 实例2>:假设有个红色的View,上下左右有个20的间距. 效果图: 实现该效果有三种方法: 第一种:分别对redView的上左下右进行约束 第二种:合并约束条
阅读全文
-
UIImage加载方式
摘要:前言 关于本地图片UIImage的加载问题,还是需要注意的。不同的加载处理方式,在效率和性能上还是有差异的。 今天,我们来讲讲UIImage的加载应该选择什么样的API来加载! 两种API 这两种API分别是: -imageNamed: 默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在
阅读全文
-
iOS Block循环引用
摘要:前言 本篇文章精讲iOS开发中使用Block时一定要注意内存管理问题,很容易造成循环引用。本篇文章的目标是帮助大家快速掌握使用block的技巧。 我相信大家都觉得使用block给开发带来了多大的便利,但是有很多开发者对block内存管理掌握得不够好,导致经常出现循环引用的问题。对于新手来说,出现循环
阅读全文
-
Block的基本使用
摘要:一、概述 Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block(嵌套)。在实际开发中,Block是使用非常广泛的,可以说它与GCD是绝配。如果GCD没有了Bloc
阅读全文
-
NSArray, NSSet, NSDictionary
摘要:一、Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合(集合) NSDictionary用于键值映射(字典) 以上三种集合类是不可变的(一旦初始化后,就不能改变)以下是对应的
阅读全文
-
NSString字符串截取方法
摘要:<!--StartFragment--> 1.字符串 1> 字符串比较 NSString *a = @“hello”; NSString *b = [NSString stringWithFormat:@hello”]; if (a == b){ nslog(@“a==b”); } if ([a i
阅读全文
-
FMDB数据库队列
摘要:一、代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库。 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6
阅读全文
-
UITabBarController简单介绍
摘要:一、简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。 二、UITabBarController的使用 1.使用步骤: (1)初始
阅读全文
-
创建cell的三种方式
摘要:方式一 注册cell -> 无需为cell绑定标识符 [使用UIViewController完成!] l 1> static NSString * const ID = @"cell"; // 全局ID变量 l 2> 在视图加载完成后使用tableView进行注册cell - (void)viewD
阅读全文
-
UITableviewcell的性能问题
摘要:一、UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource的 tableView:cellForRowAtIndexPath:方法来初始化每⼀行 UITableViewCell内部有个默认的子视图:contentVie
阅读全文
-
UITableview控件简单介绍
摘要:注意点:数据源方法只能在控制器里设置 一、基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 。 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UITableView继承自UIScrollView,因此支持垂直滚动,⽽且性能极佳 。 UITableview有分组和不
阅读全文
-
导航控制器属性和基本使用
摘要:UINavigationController使用详解_风之语2018_新浪博客http://blog.sina.com.cn/s/blog_9693f61a0101eowy.html IOS开发UI篇—导航控制器属性和基本使用 一、导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四
阅读全文
-
多控制器和导航控制器简单介绍
摘要:一、多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单。当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B
阅读全文
-
SQLite数据库框架--FMDB简单介绍
摘要:1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据
阅读全文
-
数据库sqlite3的使用-ios中引用方法
摘要:一、简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件。 导入头文件,可以使用库中的函数(是纯C语言的) 二、具体说明 新建一个项目,在项目的主界面中放四个按钮(分别是,增加、删除、修改、查询)。 1.sqlite3_open(<#const ch
阅读全文
-
数据库sqlite3的使用-代码实例应用
摘要:一、使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在ios项目中使用代码批量添加多行数据示例 代码示例: 作用:生成200条相应的sql插入语句 打印结果为: 使用文本编辑器,打开生成的sql
阅读全文
-
数据库sqlite3的使用-基本语法
摘要:一、SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(structured query language):结构化查询语言 SQL是一种对关系型数据库中的数据进行定义和操作的语言 SQL语言简洁,语法简单,好学好用 2.什么是SQL语句 使用S
阅读全文
-
数据库sqlite3的使用-Navicat的安装
摘要:一:Navicat Navicat是一款著名的数据库管理软件,支持大部分主流数据库(包括SQLite) 1.Navicat的安装 (1)下载该软件后,先打开该软件 (2)把文件拖入到应用程序拷贝 (3)破解版,千万不要打开app,先打开sn.app (4)点击patch,找到应用程序的路径,点击op
阅读全文
|