202101-29 iOS实现点赞动画特效 本文实例为大家分享了iOS实现点赞动画特效的具体代码,供大家参考,具体内容如下动画的基本使用动画的实现基本上是基于对View控件和View的layer属性进行操作,对视图进行移动,尺寸变换,透明度变换,旋转等一系列操作。关键帧动画:动画的实现可以分为两个部分,一部分是规定动画的变化内容,比如view需要把scale从0变化到1,这个数字是相对值,即从尺寸为0变化到正常尺寸。另一个部分是规定动画的渐变时间。这样就实现了view在规... 继续阅读 >
202101-26 iOS实现悬浮按钮 前言开发中会遇到有悬浮按钮功能。效果上代码SuspensionButton.h#import<UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interfaceSuspensionButton:UIButton@property(nonatomic,assign)BOOLMoveEnable;@property(nonatomic,assign)BOOLMoveEnabled;@property(nonatomic,assign)CGPointbeginpoint;@endNS_ASSUME_NONNULL_ENDSuspensionButton.m#import"SuspensionButton.h"@implementationSuspensionButton-(instancetype)i... 继续阅读 >
202101-10 iOS中几种定时器的实现小结 在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法。在这个时候,我们就需要用到定时器。然而,在iOS中有很多方法完成以上的任务,到底有多少种方法呢?经过查阅资料,大概有三种方法:NSTimer、CADisplayLink、GCD。接下来我就一一介绍它们的用法。一、NSTimer1.创建方法NSTimer*timer=[NSTimerscheduledTimerWithTimeInterval:1.0target:selfselector:@selector(action:)use... 继续阅读 >
202011-06 详解iOS Method Swizzling使用陷阱 在阅读团队一项目源码时,发现MethodSwizzling的写法有些瑕疵。这篇文章主要就介绍iOSMethodSwizzling的正确写法应该是什么样的。下面是iOSMethodSwizzling的一种实现:+(void)load{Classclass=[selfclass];SELfromSelector=@selector(func);SELtoSelector=@selector(easeapi_func);MethodfromMethod=class_getInstanceMethod(class,fromSelector);MethodtoMethod=class_getInstanceMethod(clas... 继续阅读 >
202010-20 iOS实现电子签名 本文实例为大家分享了iOS实现电子签名的具体代码,供大家参考,具体内容如下实现原理1、使用拖动手势记录获取用户签名路径.2、当用户初次接触屏幕,生成一个新的UIBezierPath,并加入数组中.设置接触点为起点.在手指拖动过程中为UIBezierPath添加线条,并重新绘制,生成连续的线.3、手指滑动中不断的重新绘制,形成签名效果.4、签名完成,转化为UIImage保存.classCXGSignView:UIView{varpath:UIBezierPath?varpathArray:[UI... 继续阅读 >
202010-20 iOS WKWebview 白屏检测实现的示例 前言 自ios8推出wkwebview以来,极大改善了网页加载速度及内存泄漏问题,逐渐全面取代笨重的UIWebview。尽管高性能、高刷新的WKWebview在混合开发中大放异彩表现优异,但加载网页过程中出现异常白屏的现象却仍然屡见不鲜,且现有的api协议处理捕捉不到这种异常case,造成用户无用等待体验很差。 针对业务场景需求,实现加载白屏检测。考虑采用字节跳动团队提出的webview优化技术方案。在合适的加载... 继续阅读 >
202010-10 iOS实现折叠单元格 本文实例为大家分享了iOS实现折叠单元格的具体代码,供大家参考,具体内容如下思路点击按钮或cell单元格来进行展开收缩,同时使用一个BOOL值记录单元格展开收缩状态。根据BOOL值对tableView的高度和button的image进行实时变更。注意点:在执行-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath(点击当前单元格)方法时,收缩单元格,显示当前点击的单元格的内容。这一步骤的实现是... 继续阅读 >
202010-10 iOS蓝牙设备名称缓存问题的解决方法 1.问题背景当设备已经在App中连接成功后修改设备名称App扫描到的设备名称仍然是之前的名称App代码中获取名称的方式为(perpheral.name)2.问题分析当APP为中心连接其他的蓝牙设备时。首次连接成功过后,iOS系统内会将该外设缓存记录下来。下次重新搜索时,搜索到的蓝牙设备时,直接打印(peripheral.name),得到的是之前缓存中的蓝牙名称。如果此期间蓝牙设备更新了名称,(peripheral.name)这个参数并不会改... 继续阅读 >
202010-10 iOS 如何高效的使用多线程 一、多线程简述线程是程序执行流的最小单元,一个线程包括:独有ID,程序计数器(ProgramCounter),寄存器集合,堆栈。同一进程可以有多个线程,它们共享进程的全局变量和堆数据。这里的PC(ProgramCounter)指向的是当前的指令地址,通过PC的更新来运行我们的程序,一个线程同一时刻只能执行一条指令。当然我们知道线程和进程都是虚拟的概念,实际上PC是CPU核心中的寄存器,它是实际存在的,所以也可以说一个CPU核心同... 继续阅读 >
202010-10 iOS程序性能优化的技巧 1.用ARC管理内存ARC(AutomaticReferenceCounting,自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC还可以帮你提高性能,它能保证释放掉不再需要的对象的内存。2.尽量把views设置为透明如果你有... 继续阅读 >
202010-10 iOS中各种UI控件属性设置示例代码 //视图已经加载完了,可以进行ui的添加了-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview.//初始化UILabel注意指定该对象的位置及大小UILabel*lb=[[UILabelalloc]initWithFrame:CGRectMake(0,20,300,200)];//设置文字lb.text=@"label测试我在学习中学些uistory水电费水电费未入围i肉煨入味哦水电费水电费水电费";//设置背景色lb.backgroundColor=[UIColorcolorWithRe... 继续阅读 >
202010-09 Qt模仿IOS滑动按钮效果 在上一篇文章里我介绍了在Android中如何实现IOS形式的滑动按钮,在这篇文章中我将介绍如何用Qt实现IOS形式的滑动按钮。其实在Android中实现这个和在Qt中实现是一样的道理的,只是使用的工具有所不同罢了。在Qt里面我们使用的是C++,而Android中则是Java。语言并不是决定的因素,而实现的思路才是最终决定胜负的利器。1)、在Android中的绘制主要是在OnDraw这个函数里面进行的,且可以在OnDraw外部写函数进行绘制,只需把Cavas传入... 继续阅读 >
202010-09 Android实现类似ios滑动按钮 IOS的滑动按钮菜单在UI设计里面绝对堪称一绝,在学习了Android的自定义view后,我萌生了模仿它的想法。实现上面的模拟需要自定义一个View;1)、在View的OnDraw里画出圆角矩形,分别为灰色圆角矩形,红色圆角矩形,和绿色圆角矩形。然后计算相应的位置。2)、本例中的宽高比为1:0.65,内部红色矩形尺寸为外部矩形尺寸0.9,内部的圆的半径为外部高的0.45倍。按照这个比例计算相应的坐标。3)、本例中的动画是用ValueAnimation实现的... 继续阅读 >
202010-08 iOS指纹识别的简单应用 指纹识别(TouchID)的简单应用,供大家参考,具体内容如下1、调用-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.[selfsetupNotification];UIButton*button=[[UIButtonalloc]initWithFrame:CGRectMake(100,100,100,100)];[buttonsetTitle:@"点击调用"forState:UIControlStateNormal];[buttonaddTarget:selfaction:@selector(actionDid... 继续阅读 >
202010-08 iOS WKWebView适配实战篇 一、Cookie适配1.现状WKWebView适配中最麻烦的就是cookie同步问题WKWebView采用了独立存储控件,因此和以往的UIWebView并不互通虽然iOS11以后,iOS开放了WKHTTPCookieStore让开发者去同步,但是还是需要考虑低版本的同步问题,本章节从各个角度切入考虑cookie同步问题2.同步cookie(NSHTTPCookieStorage->WKHTTPCookieStore)iOS11+可以直接使用WKHTTPCookieStore遍历方式设值,可以在创建wkwebview时候就同步也可以是请求时候//iO... 继续阅读 >
202009-29 iOS自定义身份证键盘 本文实例为大家分享了iOS自定义身份证键盘的具体代码,供大家参考,具体内容如下项目中有需要需要身份证的输入框,用自带的输入切换很麻烦(如果最后一位带X),所以自定义一个身份证输入键盘.自定义键盘的关键: self.textField.inputView=[自定义的view], 支持长按一直删除demo地址开始自定义1.创建一个集成自UIView的视图(NYLIDKeyBoard)NYLIDKeyBoard.h////NYLIDKeyBoard.h//lqz////Createdby聂银龙on2017/9... 继续阅读 >