iOS 封装下拉、上拉刷新控件,首先看下效果图: 简单阐述一下:自定义头部、尾部刷新视图,继承UIView,通过KVO监听scrollView的滑动,通过偏移量设置刷新状态,通过修改状态修改scr...
ios开发
iOS自定义可展示、交互的scrollView滚动条
上一篇简述了封装上拉、下拉刷新控件,本篇在此基础上添加了一个自定义的scrollView滚动条,可展示、交互,首先看一下效果图: 简单阐述一下实现逻辑:自定义滚动条视图继承UIVi...
iOS自定义水平滚动条、进度条
iOS自定义水平滚动条、进度条,继承UIView,可点击轨道、滑动滑块交互。 先看一下效果图: 简单说一下逻辑,新建一个继承UIView的类,分别给轨道、滑块添加UITapGestureRecognizer点击、...
iOS设置圆角阴影 避免离屏渲染
iOS 控件设置圆角,避免离屏渲染。 离屏渲染: 指GPU(图形处理器)在当前屏幕缓冲区外新开辟一个渲染缓冲区进行工作。这会给我们带来额外的性能损耗,如果这样的操作达到一定数...
iOS实现PDF文件浏览功能
写了一个小Demo,显示本地PDF格式文件,支持翻页、跳页、缩放。 先看一下效果图: iOS开发,显示PDF格式文件方法有很多: 最简单的应该是UIWebView,可以加载本地或网络PDF文件,支持上...
iOS使用音频处理框架The Amazing Audio Engine实现音频
iOS 第三方音频框架The Amazing Audio Engine使用,实现音频录制、播放,可设置配乐。 首先看一下效果图: 下面贴上核心控制器代码: #import "ViewController.h"#import AVFoundation/AVFoundation.h#import...
iOS自定义UIDatePicker日期选择器视图
iOS自定义UIDatePicker日期选择器视图 ,首先看一下效果图: 下面贴上相关代码: ViewController: #import UIKit/UIKit.h @interface ViewController : UIViewController @end #import "ViewController.h"#import "HWDatePick...
iOS实现截取字符串中汉字功能
本文实例为大家分享了iOS截取字符串中汉字的具体代码,供大家参考,具体内容如下 写了一个简单的例子,从第一个汉字开始截取字符串。下面贴上代码: #import "ViewController.h" @interf...
iOS自定义UIButton点击动画特效
借鉴相关资料,整理了一个很有意思的button动画效果,iOS自定义UIButton点击动画特效 先看一下效果图: 下面贴上代码: ViewController: #import UIKit/UIKit.h @interface ViewController : UIViewControll...
iOS Touch ID指纹识别技术简介
Touch ID简介: 苹果公司在iPhone 5S手机中推出了指纹识别功能,提高手机安全性的同时也方便了用户操作。其功能是通过Touch ID实现的,从iOS 8系统开始,苹果开发一些Touch ID的API使得开发...
iOS自定义日期和数据源选择控件
需求 App开发中经常会有日期选择(如生日、睡眠定时等)或者省市区选择等此类功能,通常UI中不会单独使用UI中的控件,而是在UIPickerView的基础上增加一个取消和确定按钮 特点 1、支...
iOS自定义时间滚动选择控件
本文实例为大家分享了iOS自定义时间滚动选择控件的具体代码,供大家参考,具体内容如下 1.先上自定义的控件: /** * 滚轮选择器 * author LH * data 2016/8/20 17:26 */public class WheelView extends...
在iOS中实现谷歌灭霸彩蛋的完整示例
前言 最近上映的复仇者联盟4据说没有片尾彩蛋,不过谷歌帮我们做了。只要在谷歌搜索灭霸,在结果的右侧点击无限手套,你将化身为灭霸,其中一半的搜索结果会化为灰烬消失...那...
iOS系统的底层通知框架库示例详解
观察者模式 观察者模式是一种用于解耦一系列需要相互协作的类之间进行通信的对象行为模式。它定义了对象之间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于...
ios12中遇到的带input弹窗的错位问题的解决方法
问题描述: 使用fixed定位的弹窗,在ios12的系统里,软键盘调起后,页面整体上移,当软键盘消失时,视觉上页面已经回到原始位置,但其实弹窗的焦点位置仍在软键盘调起时的位置。...
iOS中WKWebView仿微信加载进度条
本文实例为大家分享了WKWebView仿微信加载进度条的具体代码,供大家参考,具体内容如下 WKWebView添加了estimatedProgress属性(double类型),我们可以利用该属性来设置UIProgressView github代码...
iOS bounds学习笔记以及仿写UIScrollView部分功能详解
经常看到这种说法,frame是基于父控件的,bounds是基于自身坐标的。然而,这个自身坐标是什么?bounds这个属性存在的意义是什么呢?bounds的x和y值真的永远是0吗? 经过查阅资料,我看...
iOS使用UICollectionView实现横向滚动照片效果
本文实例为大家分享了iOS使用UICollectionView实现横向滚动展示照片的具体代码,供大家参考,具体内容如下 这是Demo链接 效果图 思路 1. 界面搭建 界面的搭建十分简单,采用UICollectionVi...
iOS滑动全屏实现返回功能
本文实例为大家分享了iOS滑动全屏实现返回功能的具体代码,供大家参考,具体内容如下 系统自带的滑动返回功能,只能滑动边缘返回,而我们希望通过滑动全屏实现返回功能。 定义...
模仿iOS版微信的滑动View效果
前言 最近经常交替使用Android和iOS手机。对于两个系统,从我们常用的列表来看,Android一般的列表菜单是通过长按出来的,而iOS是通过滑动出现的。比如我们常用的微信,对于Android版本...
iOS开发Quick Actions创建桌面Icon快捷方式
个言 很久没发随笔了,有一年多了吧。期间也曾想继续去写随笔,但是因为各种原因而耽搁了。最近又想了一下,还是有很多东西想要写,想要分享,想要记录下来的东西。之后我也会...
iOS UIPickerView的简单封装示例
前言 在iOS实际项目中,经常会出现界面中多个地方需要使用UIPickerView,如果在每个需要用到的地方都创建一个UIPickerView不仅更耗性能,而且还会让你的代码变得更加杂乱、冗余,因此我...
iOS去除Webview键盘顶部工具栏的方法
前言 在默认情况下,iOS 使用 Webview 打开的网页,在进行表单输入时,弹出的键盘顶部会多出一个工具栏。 左边有两个上下按钮,右边有一个Done/完成按钮。这是用来切换输入框的,就...
使用objc runtime实现iOS闭环的懒加载功能
使用objc runtime实现懒加载 地址:AutoPropertyCocoa 懒加载形式如下 - (id)lazyloadProperty{ if(_lazyloadProperty == nil){ _lazyloadProperty = [XClass ...]; } return _lazyloadProperty;} 一般使用宏定义可以轻松完成。...
iOS中gif图的显示方法示例
一、前言 iOS开发中,大部分时候我们显示一张静态图就可以了,但是有的时候为了UI表现更生动,我就有可能需要展示gif图来达到效果了。 网上找了一下,显示gif图的框架找到了两个。...
Objective-C中block循环引用问题详解
目标:block执行过程中,self不会释放;执行完可以释放。 最初 block中直接使用self会强引用。 self.myBlock = ^() { [self doSomething];}; 或者使用了对象的属性 self.myBlock = ^() { NSString *str = _str;...
解决SDK注入权限验证安卓正常,IOS出现config fai
实测有效 解决微信游览器和企业微信游览器JSSDK注入权限验证 安卓正常,IOS出现config fail 一开始我们想到的是可能微信这边的Bug,但细想一下应该不是。因为可能涉及到了IOS的底层原理...
iOS自定义转场动画的几种情况
前言 在开发中,无论我们使用 Push 还是 Present 推出新的 ViewController 时,系统为了提高用户体验都会为我们默认加上一些过渡动画。但是,系统默认的动画总是不能满足大家各种各样的...
iOS开发教程之WKWebView与JS的交互
前言 iOS8以后,Apple公司推出了WKWebView,对比之前的UIWebView不论是处理速度还是内存性能,都有了大幅度的提升! 那么下面我就分享一下WKWebView与JS的交互. 首先使用WKWebView.你需要导入WebKit...
iOS开发避免安全隐患的要点总结
现在很多iOS的APP没有做任何的安全防范措施,导致存在很多安全隐患和事故,今天我们来聊聊iOS开发人员平时怎么做才更安全。 一、网络方面 用抓包工具可以抓取手机通信接口的数据...
iOS开发中多线程的安全隐患总结
资源共享 1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象、同一个变量、同一个文件 当多个线程访问同一块资源时,很容易引发数...
如何利用FutureBuilder提高开发效率
常见场景 展示请求按钮 用户点击按钮,显示loading 展示数据或者错误 抽象模式 展示请求按钮(初始状态) 用户点击按钮,显示loading(请求中状态) 展示数据或者错误 (结束状态(成...
iOS中如何获取某个视图的截图详析
前言 最近在做SDK的截图,想触发类似系统的截屏功能,找了一圈,总结一下靠谱的几种方式。 我写了个UIView 的category,将这几种方式封装和简化了一下。 第一种情形截图 这种是最最普...
iOS导航栏控制的一些总结
前言 许久不写UI,对UI的很多东西都生疏了,最近使用导航栏的各种场景做一些总结。 1.导航栏的显示与隐藏 导航栏的显示与隐藏,分两种情况: 1.从不显示导航栏的页面push到显示导航...
iOS中如何判断当前网络环境是2G/3G/4G/5G/WiFi
前言 5G 什么的,还得等苹果API更新啊,不过将来还是这个处理过程就是了。 关于判断当前的网络环境是2G/3G/4G,这个问题以前经常看到,最近在一工程里看到了如果判断的API。而在撸...
UILabel显示定时器文本跳动问题的解决方法
先看一个有问题的展示效果: 上面的gif图会发现在显示验证码计数时出现跳动和闪烁的问题。目前大多数用来实现定时器显示的控件都是UILabel。 在iOS9以前系统默认的英文字体是Helve...
iOS常用算法之两个有序数组合并(要求时间复杂
思路: 常规思路: 先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素, 一一对比, 直到找到合适的, 就插入进去; 简单思路: 设置数组C, 对比A和B数组的首项元素, 找到最小的...
iOS 弹幕功能的实现思路图解
先来看一张效果图(LICEcap录制的有点卡, 凑合看) 理一下大概流程: 接下来实现: 弹幕视图从底部弹上来, 依次动画向上滚动, 出屏幕就移除加入重用队列, 下次使用. 定义相关属性: 1. 根据...
iOS实现文字水平无间断滚动效果
IOS跑马灯效果,实现文字水平无间断滚动,示例代码如下: ViewController.h #import UIKit/UIKit.h @interface ViewController : UIViewController{ NSTimer *timer; UIScrollView *scrollViewText;} @property (nonatomic ,strong)...
iOS代码瘦身实践之如何删除无用的类
前言 本文将提供一种静态分析的方式,用于查找可执行文件Mach-o中未使用的类,源码链接:xuezhulian/classunref(本地下载)。 Mach-o文件中__DATA __objc_classrefs段记录了引用类的地址,__DATA __ob...
iOS组件依赖避免冲突的小技巧分享
问题缘由 本文以 YBImageBrowser[1] 组件举例。 YBImageBrowser 依赖了 SDWebImage,在使用 CocoaPods 集成到项目中时,可能会出现一些依赖冲突的问题,最近社区提了多个 Issues 并且在 Insights - Tra...
详解MacOs免密登录CentOs操作步骤
目录 MacOs免密登录CentOs 环境 本文操作的环境如下: CentOs 7 MacOs10.12.6 生成秘钥 首先在本机生成秘钥,打开终端,输入: ssh-keygen -t rsa -C xxxxx@qq.com 后面的邮箱随意就可以 然后一直按回...
iOS调试Block引用对象无法被释放的小技巧分享
Block技术在iOS开发中非常流行也很方便,但是稍微疏忽就可能会产生引用无法被释放的问题,从而造成内存泄漏。那如何知道哪个Block持有了对象并造成内存泄漏呢? 一个解决的方法是...
iOS实现文本分页的方法示例
前言 本篇文章将分为两部分,一部分是静态文本分页,一部分是动态文本分页即边填写文本边进行文本的分页. 我们所采用的方案为:TextKit进行处理,通过glyphRangeForTextContainer方法获取文本内...
iOs迁至WKWebView跨过的一些坑
前言 在iOS中有两种网页视图可以加载网页除了系统的那个控制器。一种是UIWebView,另一种是WKWebView,其实WKWebView就是想替代UIWebView的,因为我们都知道UIWebView非常占内存等一些问题,但...
iOS模拟中奖名单循环滚动效果
本文实例为大家分享了iOS模拟中奖名单循环滚动效果的具体代码,供大家参考,具体内容如下 1.动态效果图: 2.思路: (1)控件:一个父View,依次添加两个tableVew,使其上下紧挨着,...
iOS13适配的实现方法
1.私有KVC [self setValue:baseTabBar forKey:@"tabBar"]; //正常[_textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];///崩溃[_textField setValue:[UIFont systemFontOfSize:14] forKeyPath:@"_placeholderLabel.fo...
iOS导航栏对控制器view的影响详解
前言 当我们设置导航栏的某些属性的时候会导致控制器View的布局不是从window的 (0,0)点开始布局,会从导航栏底部开始布局,而此时在 viewDidLoad 中 获取到View的frame 确实从(0,0)开始的...
解决iOS13 无法获取WiFi名称(SSID)问题
升级到iOS13以后,发现之前获取WiFi名称的接口失效了,返回的都是固定值"WLAN"。这里可能是因为苹果对用户隐私保护问题,因为通过wifi信息可以定位到用户地理位置。所以iOS13以后如果...
iOS 13适配汇总(推荐)
随着iPhone 11的发布,iOS 13适配也提上了日程,接下来就开发中升级iOS13的手机可能出现的问题 Xcode: 11.0 iOS : 13.0 UIViewController 模态弹出界面 viewController.present(presentVC, animated: true, completi...