- 博客(41)
- 资源 (33)
- 收藏
- 关注
原创 MAC 利用GIF Brewery来制作Gif图片
简单介绍 GIF Brewery简单介绍1.下载一个GIF Brewery http://gifbrewery.com/2.然后点击文件,新建video或者屏幕录制,点击开始录制。3.录制完成后4.然后对于将要处理的视屏进行设置(包括gif图片大小,循环次数,每帧的图片个数等),如下图...
2017-07-31 20:33:44 2459
原创 Github readme.md 添加图片
将图片放在Github仓库里面,在文件里链接它,最后 push 到 github 上。因为我项目中的演示效果图地址是:https://github.com/robinson911/LJPhotoGroup/blob/master/2017-07-31%2020_08_540000000.gif然后在 README.md 里添加:![image](https://github.com
2017-07-31 20:20:35 302
原创 ios 图片放大缩小动画效果
一个简单的图片浏览放大缩小管理器支持图片放大和缩小效果,同时图片是原去原回的放大缩小效果简单易用 简单使用如下:(void)showPhoto:(UITapGestureRecognizer*)sender { NSInteger selectIndex = [[(UIGestureRecognizer *)sender view] tag];LJPhotoInfo *_info
2017-07-31 18:53:22 3048
原创 ios 图片由小到大和由大到小的渐进效果
- (void)testImageViewAnimal{ UIImage *_ljImage = [UIImage imageNamed:@"wuliu_banner"]; _ljImageView = [[UIImageView alloc]init]; _ljImageView.image = _ljImage; _ljImageView.frame = CG
2017-07-27 21:24:09 1529
原创 ios UICollectionViewCell个数小于等于3,顺序错位
这两天在写一个多张图片点击放大缩小回原位置的控件------获取UICollectionView上的cell图片,点击放大1.发现UICollectionViewCell个数小于等于3个时,cell0和cell1的位置是反的,即顺序错位。第三个cell的位置是对的。-------通过打印cell的内存地址,找到此问题的。2.当UICollectionViewCell个数大于3个时,cell
2017-07-26 21:10:19 1444
原创 ios 简单的网络图片轮训
0.截图1.使用 LJPhotoGroupView *_ljPhotoGroupView = [[LJPhotoGroupView alloc]initWithItem:self.ljUrlArray]; _ljPhotoGroupView.backgroundColor = [UIColor blackColor]; _ljPhotoGroupVie
2017-07-24 22:22:52 445
原创 ios JPEGDecompressSurface : Picture decode failed: e00002d1 解决
我写了一个tabview加载多张网络图片的demo,在模拟器中快速滑动,加载图片时,是好的。问题:在手机上一运行,发现xcode自动打印这个log 错误“JPEGDecompressSurface : Picture decode failed: e00002d1 ”,同时真机上的图片加载不完全。因为我这个加载多张网络图片的demo包含图片缓存到磁盘中,最终定位原因是多张图片写磁盘
2017-07-23 20:49:21 4606
原创 iOS 计算label的宽度和高度
//根据宽度求高度 content 计算的内容 width 计算的宽度 font字体大小+ (CGFloat)getLabelHeightWithText:(NSString *)text width:(CGFloat)width font: (CGFloat)font{ CGRect rect = [text boundingRectWithSize:CGSizeMake(wid
2017-07-18 01:00:00 8689
原创 ios 底部的4个tabBar回顾学习
一. 设置登陆页面为rootVC- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [application setStatusBarStyle:UIStatusBarStyleLightContent];
2017-07-16 22:29:13 1178
原创 ios ASTextNode中富文本多行中文显示问题解决方法
在使用ASTextNode计算view的高度时,利用富文本计算高度的方法计算多行中文显示时,会在底部多出一些空白区域的高度 简单点说,1.中文字符串在利用NSAttributedString 的boundingRectWithSize:options:context来计算ASTextNode的高度时,实际高度比需要的高度高出一些区域 2.纯英文字符在利用
2017-07-16 15:11:30 2085
原创 swift3.0 MD5加密源码
因为MD5加密是不可逆的,所以一般只有MD5加密的算法,而没有MD5解密的算法。创建一个Sting+MD5.Swift字符串分类文件(同时此处需要创建一个bridge.h桥接文件,引入这个头文件#import ,md5加密方法需要使用的文件)1.bridge.h桥接文件如下:#ifndef bridge_h #define bridge_h #import
2017-07-16 13:44:31 1707
原创 iOS MD5 和 Base64 算法
MD5 MD5加密全称是Message Digest Algorithm 5,翻译为“消息摘要算法第五版”MD5加密是最长用的加密方式之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码。对输入信息生成唯一的128位的散列值(32字符)MD5生成的是固定的128bit,即128个0和1的二进制位,而在实际应用开发中通常是以16进制输出的,所以正好就是32位的
2017-07-16 13:30:55 562
原创 swift3.0 简单的网络图片缓存原理
一. 缓存原理图片缓存原理原理是,如内存没图片,去磁盘找,若磁盘也没有,则根据url去下载,然后缓存到内存和磁盘中,简单易用缓存的目录结构如下图: //存储图片的文件夹 var ljFilePath:String = NSHomeDirectory() +"/Documents/" +"LJImageCache/" 二. 图片名称处理为了确
2017-07-16 10:51:06 1697
原创 swift3.0 文件操作
//存储图片的文件夹var ljFilePath:String =NSHomeDirectory() +"/Documents/" +"LJImageCache/" /// 写文件 /// /// - Parameters: /// - fileName: 文件名称 /// - data: 数据data /// - Ret
2017-07-15 22:39:06 960
原创 swift 学习资料大全
版本:Swiftgithub排名 https://github.com/trending,github搜索:https://github.com/search主要工作说明: 1. 将Swift从Objective-C混合的md文件中抽出(正在进行…)使用方法:根据目录关键字搜索,记得包含@,以保证搜索目录关键字的唯一性。问题反馈:请广大网友只按照目录结构(即
2017-07-15 18:22:50 3995
原创 swift3.0 协议
//1. 协议的定义protocol SportProtocol{ //默认情况下,协议中的方法都是必须实现的方法 func playBasketball() func playFootball()}//2. 定义类,并且遵守协议class teacher : SportProtocol{ func playFootball() { pri
2017-07-10 17:00:40 261
原创 swift3.0 可选链的学习
//1. 可选链的使用// ?.就是可选链,系统会自动判断可选类型是否有值//如果有值,则解包,如果没有值,则赋值nil//注意:可选链条获取的值,一定是一个可选类型// if let price = p.dog?.toy?.price{// print(price)//}//2. 给why的狗的玩具赋值一个新的价格// 如果可选链中有一个可选类型是没有值,那么语句直接不执
2017-07-10 16:59:59 211
原创 swift3.0 析构函数
swift 中的析构函数,类似与OC中的dealloc函数,类似于c++ 中的析构函数 class deallocPerson{ var name : String = "" var age : Int = 0 //重写析构函数,监听对象的销毁 deinit { print("deallocPerson ---deinit ")
2017-07-09 21:18:23 368
原创 swift 3.0 类的构造函数
/* //类的构造函数 使用KVC条件 1> 必须继承自NSObject 2> 必须在构造函数中,先调用super.init(0 3> 调用setValueForKeys 4> 如果字典中某一个key没有对应的属性,则需要重写setValueForKeys方法 */class LJPerson : NSObject{ var name : String = ""
2017-07-09 20:56:52 291
原创 swift3.0 类的基本使用
//类的基本使用//1. 创建类class Student{ //类的属性定义 // 存储属性: 用于存储实例的变量&常量 var name : String = "" var age : Int = 0 var mathScore : Double = 0.0 var chineseScore : Double = 0.0 //计算
2017-07-09 19:36:27 234
原创 swift3.0 元组简单学习
//元组//1.使用元组保存信息let infoTuple = ("why",18,1.08)let tupleName = infoTuple.0let tupleAge = infoTuple.1print(tupleName.characters.count)//写法二//别名let infoTuple1 = (name:"why" , age:18 ,height:1.08
2017-07-09 16:52:06 207
原创 swift 3.0 字典简单学习
//1.如何定义字典 //1> 定义不可变字典:使用let修饰 //编译器会根据[]中每一个元素(数组),还是健值队(字典) //写法一 let dict3 : Dictionary = ["sww": 123,"frg":"911"] //写法二 let dict2 = ["sww": 123,"frg":"911"] as
2017-07-09 16:23:41 289
原创 swift 利用Opration和OprationQueue来下载网络图片
1. 基于Opration封装的获取网络数据组件import Foundationimport UIKitpublic typealias OpreationClosure = ((_ data:Data? , _ error: Error?) -> Void)class LJOpreationManager: Operation { /** *
2017-07-08 21:55:17 509
原创 ios 自定义的NSOperation添加到NSOperationQueue中,系统自动执行start方法
1. 创建了3个任务,加入到队列中去执行- (void)createOperationQueue{ //创建一个队列 NSOperationQueue *queue = [[NSOperationQueue alloc]init]; //创建一个任务 LJOperation *op1 = [[LJOperation alloc]init];
2017-07-07 23:05:45 1529
原创 swift3.0 可选绑定共用同一块内存空间
ljTempModel = UserModel.init(userName: "sww", userID: 12, phone: "123", email: "deew") ljTempModel?.ljArray.append("sww") print("可选绑定前:\(ljTempModel?.ljArray)") //可选绑定
2017-07-06 17:38:34 273
原创 swift3.0 Kingfisher图片库 重点源码分析
1. data 根据url这个key存储在 fetchLoads中// A single key may have multiple callbacks. Only download once. func setup(progressBlock: ImageDownloaderProgressBlock?, with completionHandler: ImageDownloader
2017-07-06 16:59:37 1439
原创 swift3.0 类字符串转类(字符串转ViewController)
//MARK: -- 根据类文件字符串转换为ViewControllerextension ThirdViewController{ /// 类文件字符串转换为ViewController /// - Parameter childControllerName: VC的字符串 /// - Returns: ViewController func getV
2017-07-06 10:04:00 915
原创 swift3.0 避免循环引用
//避免循环引用,weak当对象销毁的时候,对象会被指定为nil //weak var weakSelf = self //对象推到,省略了ViewController weak var weakSelf : FirstViewController? = self //等同与上面的表达式 ljload?.loadData({ (j
2017-07-05 14:51:48 250
原创 swift 网络----利用URLSession的Data Task下载单张图片(包含图片的增量下载)
wang luoimport Foundationimport UIKitpublic typealias SwiftClosure = ((_ data:Data? , _ progressValue:Float, _ error: Error?) -> Void)class LJSessionRequestManager: NSObject{ /**
2017-07-05 14:44:02 2409
原创 swift 网络----利用URLSession的Download Task模式下载多张图片
下载类import Foundationimport UIKit//定义一个传图片数据的闭包public typealias SwiftClosure = ((_ data:Data? , _ error: Error?) -> Void)class LJSessionRequestManager: NSObject{ /** * 定义闭包属性,可选类型
2017-07-04 23:10:15 1394
转载 Swift中的willSet与didSet
在Swift语言中用了willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化无需说太多,看看下面的代码你就能很快明白的import Foundationclass People : NSObject{ //普通属性 var firstName:String = "" var lastName:String = ""
2017-07-04 14:11:10 277
原创 swift 枚举类型
//1.枚举类型enum MethodType :String{ case get = "get" case post = "post" case put = "put" case delete = "delete"}//2.创建枚举let type1 : MethodType = .getlet type2 = MethodType.post
2017-07-03 23:10:29 363
原创 swift 访问权限
import UIKit/* 1>internal :内部的, 1.默认情况下所有的类的属性&方法的访问权限都是internal 2.若本模块(项目/包/target)中可以访问 2> private:私有的 1.只有在本类中可以访问 3> open 公开的 1.可以跨模块(包/target)都是可以访问的 4> fileprivate swi
2017-07-03 22:22:34 995
原创 swift 懒加载
一个VC上放了一个按钮,然后点击按钮打印刚刚定义的懒加载对象names,按理说“--------------”应该只打印一次。 /* 用到时再加载 多次使用只加载一次 */ lazy var names :[String] = { let names = ["why", "lmj", "swd"] print("-
2017-07-03 21:57:51 561
原创 swift3 闭包学习
class FirstViewController: TFBaseViewController { var ljload :LJDownLoadNetImage? //声明 override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor
2017-07-03 00:17:51 241
原创 swift3 as?和as!
import Foundation//07 类型转换let str = "www.sina.com"(str as NSString).substring(to: 6)//2. as? as!//通过as?转化成可选类型//as? :转换的类型是一个可选类型,系统会自动判断tempName是否可以转换成string,如果可以转成,那么获取字符串。如果转换不成功,则返回nillet
2017-07-02 21:21:04 287
原创 swift3.0 unexpectedly found nil while unwrapping an Optional value的解释 && Swift中Optional
首先来说一些Swift中的Optional,译为可选项,他是一个枚举类型,有以下两个值1. none:表示没有值2. some:某一类值原始可选项的定义:let x: Optional = 1011简单的定义://'?'用来定义 y 是一个可选的 Int 类型,可能没有值,也可能是一个整数ley y: Int? = 201212此时打印 x
2017-07-02 17:38:41 23133
转载 swift3.0 as、as!、as? 关键字 三种操作符的使用
The as! Operator!让我们来操作as吧!说明因为最近在学习Swift,这里根据苹果官方文档加上自己的理解,总结了下常用的as、as!、as? 这三种类型转换操作符的异同和使用方式。正文askeyword:Guaranteed conversion、 Upcasting理解:字面理解就是有保证的转换,从派生类转换为基类
2017-07-02 17:29:17 3395
原创 swift3.0 data转String 打印输出
/* 打印json数据 */ LJDownLoadNetImage.request("GET", url: "http://jsonplaceholder.typicode.com/users/1") { (data, respond, error) in data转String let str =
2017-07-02 16:31:46 5079
原创 swift 网络----利用URLSession的Block模式下载多张图片
先上效果图再上源码1. 对于URLSession做了个简单的封装,用来请求网络数据import Foundationclass LJDownLoadNetImage: NSObject { static func request(_ method: String, url: String, callback: @escaping (_ data: Data
2017-07-01 23:17:40 862
IOS stream模拟http请求获取数据
2016-09-16
ios ESTMusicPlayer音乐播放器源码
2016-05-16
swift demo 包含登陆登出 四个底部TabBar按钮
2016-05-09
Swift UITableView and protocol 学习使用
2016-02-22
IOS tableView(一张图片标题详细说明)
2015-01-11
IOS 自定义导航栏 和表格 学习笔记
2015-01-11
IOS delegate button版本
2014-12-12
IOS 消息远程推送 PushMeBaby demo 测试通过
2014-10-31
IOS delegate 的简单demo
2014-09-29
IOS Tableview远程加载数据并显示
2014-09-14
C51 单片机 利用printf函数输出字符串
2014-08-19
MQTT 开发手册大全
2014-04-29
MQTT——移动消息传递和 M2M 客户机开发API包
2014-04-19
MQTT android 端程序包---已经成功在手机上验证
2014-03-14
com.ibm.micro.client.mqttv3.jar
2014-03-14
C51单片机 测试通过定时器0 向串口1s钟发送一次数据
2014-02-18
STM32上实现的IAP功能 下载可以直接测试使用
2013-11-16
IAP——STM32官网USART例程——编译直接可以运行
2013-11-05
STM32上移植的UCOS 跑了两个TASK
2013-09-24
GPRS 短信 收发程序 远程控制 详细的注释
2013-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人