自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(546)
  • 收藏
  • 关注

转载 栈的基本算法

一、简单介绍栈是限定进在表尾插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊的含义,成为栈顶(top),相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。栈的修改是按照后进先出的原则进行的,因此,栈又称为后进先出的线性表。二、栈示意图三、基本操作1、栈的初始化: InitStack(&S)2、栈顶元素插入: Push(&am...

2019-09-01 15:12:00 720

转载 iOS:获取一周7天的日期(年-月-日-星期)

一、介绍在开发中,日期的使用绝对是离不了的,跟业务的关联性太强了,例如课程表。有的时候我们不需要课程表,但是需要获取一周7天的日期,这一周内的日期,我觉得有两种理解:1、获取当天开始的一周日期,当天作为起点往后顺延的一周(红色的为当天),实现方法见如下代码:方式一:2、获取一周内的日期,当天在这一周内,所在一周的第一天和最后一天,不是作为起点往后顺延(红色的为当天),实...

2019-08-09 16:00:00 1365

转载 iOS:定制自适应大小的透明吐司弹框

一、简单介绍创建一个吐司消息的黑色透明弹框,可以根据消息长短自适应大小。可以手动创建手动显示手动关闭,也可以手动创建自动显示自动关闭。简单好用。二、代码使用.h文件//// LiveHUD.h//// Created by 夏远全 on 2019/4/10.// Copyright © 2019年 xiaoshuang. All r...

2019-04-15 10:11:00 459

转载 iOS:Gif动画功能(显示gif动画、获取gif动画时长、获取gif动画执行次数)

一、简单介绍gif动画是iOS开发中很常用的一个功能,有的是为了显示加载视频的过程,更多的是为了显示一个结果状态(动画更直观)。那么如何执行gif动画,方法有很多。(这里只写一下方法三,前两种之前都用过)方法一使用UIWebView来显示; 方法二使用UIImageView的帧动画显示;方法三使用SDWebImage这个三方框架来显示。二、简单使用1、显...

2019-04-15 09:58:00 1276

转载 iOS:检测多媒体(相机、相册、麦克风)设备权限,弹框提示

一、感言新年伊始,万象更新,一转眼,就2019年了。作为一个科班生,从事移动端开发好几年了,回顾曾经的摸爬滚打,兢兢业业,严格的来说,多少算是入行了。过去成绩如何暂且不说,新的一年,我当加倍努力,凤凰涅槃,浴火重生。二、介绍在项目中,多媒体的使用非常常见,那么,询问设备的权限必不可少。优点:这么做极大的增强了用户体验,友好地告知用户去开启权限。例如:相机...

2019-01-02 17:51:00 1077

转载 iOS:给标签栏控制器的UITabbarItem添加点击动效

一、介绍现在很多app,附带很炫的点击效果,让用户享受到非常棒的体验,例如动画、渐变、音效等。当然,市面上大多数app的标签栏点击还是挺中规中矩的,只是切换图片而已。然而,这个是可以优化的,附带点特效能极大为app增色。例如音效和波动,淘宝和今日头条就是这么实现的,效果特别棒。这里实现一下UITabbarItem波动的动画。二、代码1、遍历标签栏控制器的UITa...

2018-11-12 18:47:00 386

转载 iOS:UIButton扩大按钮的响应区域

一、介绍在开发中有时会遇见设计图里按钮设计的特别小,这时会用到手动扩大UIButton的响应范围二、方式下面有两个解决办法:第一种方法:创建一个类目:UIButton+EnlargeTouchArea.h#import <UIKit/UIKit.h>@interface UIButton (EnlargeTouchArea)...

2018-09-05 10:26:00 106

转载 iOS:解决UITextView自适应高度粘贴大量文字导致显示不全的问题

一、描述在UITextView输入框中粘贴大量的文字时,UITextView内容自适应高度计算出现误差,导致整块文字上移消失。二、方案在UITextView文字改变的监听中添加如下方法即可。[self.textView scrollRangeToVisible:self.textView.selectedRange];  转载于:https:/...

2018-08-30 15:06:00 338

转载 iOS:苹果内购实践

iOS 苹果的内购一、介绍 苹果规定,凡是虚拟的物品(例如:QQ音乐的乐币)进行交易时,都必须走苹果的内购通道,苹果要收取大约30%的抽成,所以不允许接入第三方的支付方式(微信、支付宝等),当然开发者可以设置后门,在审核时避开审核人员。这个是有风险的,一旦发现,app会被立即下架,还是老老实实接入内购吧。二、注意 内购接入还是比较简单的,苹果提供了专门的...

2018-06-28 11:36:00 467

转载 iOS:如何实现在文字上添加拼音

一、介绍最近项目有一个需求,需要给朗诵的文字添加对应的拼音,而且要求使用原生的控件实现。一开始听到这个需求挺懵逼的,感觉有点难。后来,静下来想一下,其实还是可以实现的,无非就是自定义了。下面,就来说说思想。二、思想server端首先返回汉字和拼音一一对应的字符串,我们根据需要分别截取存入数组。一个汉字要添加拼音,拼音使用一个view显示,汉字也使用一个view显示,那么...

2018-04-09 13:45:00 894

转载 iOS:类似于网易云音乐的刷新条目显示弹框

一、介绍在app中使用刷新控件或者第三方刷新库是最常见的功能,在请求服务器时,获取数据的过程是处于不可见状态的,那么通过这个刷新状态可以给用户以直观的感受,这是增强用户体验的一个相当好的方法。我个人认为,有时这个方法仍有不足,就是当拉取到数据时,用户只是知道数据有了,并没有直接告知用户拉取了或者刷新了多少条数据。所以,这里我写了一个类似于网易云音乐的“朋友”模块中的一个刷新条目显示弹...

2018-03-26 17:59:00 199

转载 iOS:练习题中如何用技术去实现一个连线题

一、介绍本人做的app涉及的是教育行业,所以关于练习题的开发肯定是家常便饭。例如,选择题、填空题、连线题、判断题等,每一种题型都需要技术去实现,没啥多大难度,这里呢,就给出实现连线题的核心代码吧。过了年后,好久没写笔记了,今天就简单开始吧~~~二、思想采用上下文在画图的方法,首先确定起点和终点的坐标,然后通过两点画一条直线。三、代码(1)常量定义lia...

2018-03-09 10:13:00 403

转载 iOS:NSFileHandle和NSFileManger的使用

一、介绍利用NSFilehandle类提供的方法,允许更有效地使用文件。一般而言,处理文件时都要经历以下三个步骤:1.打开文件,并获取一个NSFileHandle对象,以便在后面的I/O操作中引用该文件2.对打开的文件执行I/O操作(读取、写入、更新)3.关闭文件注意:NSFileHandle 此类主要对文件内容进行读取和写入操作,可以使用NSFile...

2018-01-31 10:33:00 147

转载 iOS:使用莱文斯坦距离算法计算两串字符串的相似度

Levenshtein:莱文斯坦距离Levenshtein的经典算法,参考http://en.wikipedia.org/wiki/Levenshtein_distance的伪代码实现的,同时参考了一些C++的实现,求字符串相似度。下面求出结果是0.0~100.0, 表示为0%~100%。static inline int min(int a, int b) { ...

2018-01-30 15:17:00 172

转载 iOS:使用NSRegularExpression正则去掉一串字符串中所有的特殊字符和标点

一、介绍在开发中,有时我们需要对一串字符串做特殊的处理后再使用,例如判断是不是特殊字符、去掉所有的特殊字符等。做处理的方法有很多,最简单的就是for循环遍历一个个的比较处理,最好用的应该是使用正则表达式。二、正则三、APINSRegularExpression匹配:/* 遍历的模式,正则表达式匹配在指定options和range模式下匹配指...

2018-01-30 15:11:00 350

转载 iOS:百度长语音识别具体的封装:识别、播放、进度刷新

一、介绍 以前做过讯飞语音识别,比较简单,识别率很不错,但是它的识别时间是有限制的,最多60秒。可是有的时候我们需要更长的识别时间,例如朗诵古诗等功能。当然讯飞语音也是可以通过曲线救国来实现,就是每达到60秒时识别停止就立即重新开启,每次结束拼接录音。这么做,显然是麻烦的,百度语音解决了这个问题,它最近上线了长语音识别技术,可以不受时间限制,还是非常棒的。这次,我就专门抽成一个工具类...

2018-01-03 19:04:00 381

转载 iOS:针对固定数据源,更好的封装cell

一、介绍在iOS开发中,tableView非常常用,能将其展示出来,它的数据源必不可少。当然数据源有动态下发的,有固定写死的,这里我只探讨固定写死的情况。对于死数据,我们在项目中经常遇到的场景就是我的模块,以及设置模块等。那么,这些死数据我们如何组装的呢? 在以前开发中,我直接用一个可变数组装着每一个cell对应的字典(字典中包含每一个cell需要字段的键值对),虽然也可以实现效果...

2017-12-08 18:20:00 159

转载 ReactNative: 搭建ReactNative开发环境

搭建ReactNative开发环境不废话,具体步骤如下:一、安装需要的软件1、HomebrewHomebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/...

2017-10-19 19:11:00 77

转载 iOS: 数据持久化方案

数据持久化方案(如果总结不到位,或者有误的地方,敬请斧正)一、功能: 主要是将数据持久化到本地,减少对网络请求的次数,既节省了用户的流量,也增强了App的体验效果。二、种类:  plist存储:使用XML键值对持久化,它适用于少量且数据基本不怎么改变的情况。 偏好存储:使用NSUserDefalut持久化,专门用来保存应用程序的配...

2017-10-18 16:44:00 115

转载 开发中,理解高内聚、低耦合

什么是高内聚、低耦合?1、介绍  模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 2、耦合性 (1)定义 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦...

2017-10-17 16:25:00 260

转载 iOS: lame框架将PCM录音转成MP3格式

lame框架将PCM录音转成MP3格式1、lame下载地址:https://github.com/rbrito/lame,它是一个不可执行的文件,需要借助build-lame.sh脚本将其编译成.a静态包。2、build-lame.sh下载地址:https://github.com/kewlbear/lame-ios-build3、解压下载的lame-io...

2017-10-11 15:20:00 202

转载 iOS:用Block写一个链式编程

一、介绍  链式编程是一个比较新颖的编程方式,简单直观,用起来也比较舒服。目前比较有名的Mansory和BabyBlueTooth就是使用链式编程写的第三方框架。二、写法  链式编程写法不同于传统方式,初次写起来比较别扭,但是一旦习惯了,用起来比较得心应手。那么,如何写呢?其实就是一个对象调用它的实例方法后返回一个block(已经定义过),而这个block内部又返回该对...

2017-09-30 18:54:00 150

转载 iOS:通过Self-Sizing Cells新特性自动计算cell的高度

iOS8 新特性Self-Sizing Cells,自动计算cell的高度一、简单介绍 UITableView是iOS开发最常用的一个控件,通过代理和数据源方法,几乎能实现各种各样的列表功能。在这里面,有一个比较重要的属性是行高rowHeight,默认的行高是44px。很显然,默认的高度有时候很难满足这个功能的需求:"cell的高度动态改变"。最常见的就是朋友圈,微博,评论...

2017-09-30 13:19:00 229

转载 iOS:创建带logol的二维码

//二维码生成 实质: 把字符串转变为 图片// 需要 coreImage框架, 已经包含在了 UIKit框架里面//MARK: 二维码中间内置图片,可以是公司logo+ (UIImage *)logolOrQRImage:(NSString *)QRTargetString logolImage:(NSString *)logolImage{ ...

2017-09-13 10:45:00 86

转载 iOS:CoreText的常用语法

CoreText的关键语法一、坐标旋转-(void)drawRect:(CGRect)rect{ //获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); //在上下文中,创建一个标准坐标系 CGContextSetTextMatrix(ctx, CGAf...

2017-09-05 11:29:00 96

转载 iOS:自定义导航栏,随着tableView滚动显示和隐藏

自定义导航栏,随着tableView滚动显示和隐藏一、介绍 自定义导航栏是APP中很常用的一个功能,通过自定义可以灵活的实现动画隐藏和显示效果。虽然处理系统的导航栏也可以实现,但是这个是有弊端的,因为系统导航栏是全局的,在任何一个地方去修改导航栏内部的结构,其他地方都会改变,需要再次去特殊处理,否则很容易出现不可预知的bug。此时,自定义是最好的选择。二、思想...

2017-08-30 16:46:00 276

转载 iOS:麦克风权限检测和获取

一、检测该方法是用来判断麦克风是否进行过授权,如果授权过就直接进行需要的功能操作;如果没有进行授权,那么就要获取授权。AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio]; switch (authStatus) ...

2017-08-03 17:32:00 1300

转载 iOS:在cell中使用倒计时的最佳方法

一、简单介绍在UITableViewCell中每条数据中显示该内容的倒计时, 并随时间进行倒数,这是很多电商app最常见的活动推销功能模块,自然想到用的就是计时器了。二、基本想法想法1:在每个cell中添加NSTimer, 负责对cell的倒数 出现的问题:ce...

2017-07-20 16:00:00 299

转载 iOS:仿写探探App动画

一、简单介绍探探动画比较新颖,这也是它在众多交友软件中火热的一个特色。实现这种动画的方式可以有两种方式实现: 1、使用转场动画实现 2、使用CollectionView自定义布局实现, 此处我提供了第二种方式实现。二、核心技术1、给collectionView自定义layout布局2、给cell添加拖拽手势,根据手势拖拽的角度删除当前数据三、演示截图...

2017-07-17 13:27:00 233

转载 iOS:调节系统的亮度

一、简单介绍  亮度是UIScreen的一个浮点型属性,而UIScreen是一个单例,所以这个亮度是全局的,任何一个地方改动,整个手机的亮度都会改变。这个亮度在iOS5.0后被苹果开放,开发者可以很方便的使用它。在此之前,开发者只能通过自己设置假亮度来达到效果,其实就是覆盖蒙层,修改透明度(自己可以去试试)。二、亮度属性@property(nonatomic) CG...

2017-07-10 16:38:00 479

转载 技术分享之八大排序算法(均已以升序为例)

一、排序名称内部排序:指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列。其中快速排序的是目前排序方法中被认为是最好的方法。1、插入排序:直接插入排序、(shell)希尔排序2、交换排序:冒泡排序、快速排序3、选择排序:简单选择排序、堆排序4、归并排序5、基数排序外部排序:指的是大文件的排序,即待排序的记录存储在外存储器(硬盘…)上,待...

2017-05-29 12:03:00 230

转载 iOS:viewController 和 view 的生命周期、不错的代码设计风格

一、介绍:viwe和viewController的生命周期是最基本的知识,如果很好地理解它们的方法调用的执行顺序,就能很好地设计代码的风格。这篇博客转载自:http://www.cnblogs.com/peaceWang/p/5346726.html。有时间我会在此基础上完善,具体讲述一下每一个方法中最适合执行的操作。控制器创建的生命周期1. 如果从stro...

2017-04-17 19:37:00 67

转载 iOS:基于RTMP的视频推流

iOS基于RTMP的视频推流一、基本介绍iOS直播一出世,立马火热的不行,各种直播平台如雨后春笋,正因为如此,也同样带动了直播的技术快速发展,在IT界精通直播技术的猴子可是很值钱的。直播技术涉及的知识面很广,最主要的大概就是这几个:软硬解码.h264、美颜处理、推流RTMP、拉流播放、视频录制、发送弹幕、即时通讯.二、常用技术软硬解码.h264:使用iOS...

2017-04-10 11:43:00 273

转载 iOS:创建撒花动画

一、介绍在很多的游戏中,会有这么一个桥段,就是闯关成功后,会弹出一个奖品同时出现很多的鲜花或者笑脸。例如微信中祝福生日时,出现蛋糕等等。那么,这次我就来实现这个功能。二、实现原理对外接收一个图片,然后给对应的每一张图片创建CADisplaylink定时器,开启计时器后,在计时器定义的方法中不停的绘制UIImageView,使其从视图顶部下落到顶部后慢慢改变透明度,直至消...

2017-04-09 21:10:00 328

转载 iOS:简易的音视屏播放框架XYQPlayer

一、前缀一直都想好好学学音视频这方面的知识,抽了几个周末参考一些资料,尝试着写了一个简易的音视频播放框架,支持音视频播放、视频截图、音乐缓存,其实吧,也就是尽可能的封装罢了,方便以后自己使用。目前只是开始,可能有些不足,后续会继续优化。可以在github上下载,地址是https://github.com/xiayuanquan/XYQPlayer,当然也请多多关注本博主夏远全。概...

2017-04-09 16:49:00 129

转载 iOS: 获取UITableViewCell上添加的子控件对应的cell

一、简单介绍UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button、label等。添加后获取这些子控件的cell,因为iOS不同系统的缘故此处会有一个坑,可能会崩溃。接下来以button为例来解决。二、崩溃情况在自定义cell的时候,在cell上添加了一个button,然后...

2017-04-03 21:21:00 335

转载 swift3.0:NSURLSession的使用

一、说明NSURLSession是OC中的会话类,在Swift中变成URLSession类,它们的实现方式是一样的,下面的示例就Swift语法进行讲解和介绍。二、介绍:URLSession类支持3种类型的任务:加载数据、下载和上传。加载数据:Data Task下载数据:Downlaod Task上传数据:Upload Task毫无疑问,Session ...

2017-04-03 19:51:00 129

转载 Swift3.0:Get/Post同步和异步请求

一、介绍Get和Post区别:Get是从服务器上获取数据,Post是向服务器发送数据。对于Get方式,服务端用Request.QueryString获取变量的值,对于Post方式,服务端用Request.From获取提交的数据。Get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内的各个字段一一对应。Post是通过H...

2017-04-03 16:53:00 117

转载 Swift3.0:NSURLConnection的使用

一、介绍应用中也不必不可少的会使用网络通信,增强客户端和服务器的交互,可以使用NSURLConnection实现http通信。NSURLConnection提供了异步请求和同步请求两种请求方式。同步请求数据会造成主线程阻塞,通常不建议在请求大数据或者网络不畅时使用。不管是同步请求还是异步请求,建立通信的步骤都是一样的: 1、创建URL对象; 2、创建URLR...

2017-04-03 13:10:00 150

转载 iOS:在tableView中通过Masonry使用autolayout在iOS7系统出现约束崩溃

一、出现崩溃情景:给tableView创建一个头视图,也即tableHeaderView,然后使用Masonry并切换到iOS7/7.1系统给tableHeaderView中的所有子视图添加约束,此时出现崩溃。二、崩溃日志:Terminating app due to uncaught exception 'NSInternalInconsistencyExceptio...

2017-03-30 17:39:00 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除