iOS中WKWebView仿微信加载进度条

本文实例为大家分享了WKWebView仿微信加载进度条的具体代码,供大家参考,具体内容如下WKWebView添加了estimatedProgress属性(double类型),我们可以利用该属性来设置UIProgressVie...

2020-05-26

iOS bounds学习笔记以及仿写UIScrollView部分功能详解

经常看到这种说法,frame是基于父控件的,bounds是基于自身坐标的。然而,这个自身坐标是什么?bounds这个属性存在的意义是什么呢?bounds的x和y值真的永远是0吗?经过查阅资料,我看到这...

2020-05-26

iOS使用UICollectionView实现横向滚动照片效果

本文实例为大家分享了iOS使用UICollectionView实现横向滚动展示照片的具体代码,供大家参考,具体内容如下这是Demo链接效果图思路1. 界面搭建界面的搭建十分简单,采用UICollecti...

2020-05-26

iOS滑动全屏实现返回功能

本文实例为大家分享了iOS滑动全屏实现返回功能的具体代码,供大家参考,具体内容如下系统自带的滑动返回功能,只能滑动边缘返回,而我们希望通过滑动全屏实现返回功能。定义BaseNav...

2020-05-26

模仿iOS版微信的滑动View效果

前言最近经常交替使用Android和iOS手机。对于两个系统,从我们常用的列表来看,Android一般的列表菜单是通过长按出来的,而iOS是通过滑动出现的。比如我们常用的微信,对于Android...

2020-05-26

iOS开发Quick Actions创建桌面Icon快捷方式

个言
很久没发随笔了,有一年多了吧。期间也曾想继续去写随笔,但是因为各种原因而耽搁了。最近又想了一下,还是有很多东西想要写,想要分享,想要记录下来的东西。之后我也会不断写...

2020-05-26

iOS用AutoLayout实现分页滚动功能

滚动视图分页
UIScrollView的pagingEnabled属性用于控制是否按分页进行滚动。在一些应用中会应用到这一个特性,最典型的就是手机桌面的应用图标列表。这些界面中往往每一页功...

2020-05-26

iOS UIPickerView的简单封装示例

前言在iOS实际项目中,经常会出现界面中多个地方需要使用UIPickerView,如果在每个需要用到的地方都创建一个UIPickerView不仅更耗性能,而且还会让你的代码变得更加杂乱、冗余,因...

2020-05-26

iOS去除Webview键盘顶部工具栏的方法

前言在默认情况下,iOS 使用 Webview 打开的网页,在进行表单输入时,弹出的键盘顶部会多出一个工具栏。
左边有两个上下按钮,右边有一个Done/完成按钮。这是用来切换输入框的,就像...

2020-05-26

使用objc runtime实现iOS闭环的懒加载功能

使用objc runtime实现懒加载地址:AutoPropertyCocoa懒加载形式如下- (id)lazyloadProperty{ if(_lazyloadProperty == nil){ _lazyloadProperty = [XClass ...]; } r...

2020-05-26

iOS中gif图的显示方法示例

一、前言
iOS开发中,大部分时候我们显示一张静态图就可以了,但是有的时候为了UI表现更生动,我就有可能需要展示gif图来达到效果了。网上找了一下,显示gif图的框架找到了两个。...

2020-05-26

Objective-C中block循环引用问题详解

目标:block执行过程中,self不会释放;执行完可以释放。最初
block中直接使用self会强引用。self.myBlock = ^() { [self doSomething];};或者使用了对象的属性self.myBlock = ^(...

2020-05-26

解决SDK注入权限验证安卓正常,IOS出现config fail的方法

实测有效 解决微信游览器和企业微信游览器JSSDK注入权限验证 安卓正常,IOS出现config fail一开始我们想到的是可能微信这边的Bug,但细想一下应该不是。因为可能涉及到了IOS的...

2020-05-26

iOS自定义转场动画的几种情况

前言在开发中,无论我们使用 Push 还是 Present 推出新的 ViewController 时,系统为了提高用户体验都会为我们默认加上一些过渡动画。但是,系统默认的动画总是不能满足大家各种...

2020-05-26

iOS开发教程之WKWebView与JS的交互

前言iOS8以后,Apple公司推出了WKWebView,对比之前的UIWebView不论是处理速度还是内存性能,都有了大幅度的提升!那么下面我就分享一下WKWebView与JS的交互.
首先使用WKWebVie...

2020-05-26

iOS开发避免安全隐患的要点总结

现在很多iOS的APP没有做任何的安全防范措施,导致存在很多安全隐患和事故,今天我们来聊聊iOS开发人员平时怎么做才更安全。一、网络方面用抓包工具可以抓取手机通信接口的数据...

2020-05-26

iOS开发中多线程的安全隐患总结

资源共享1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源比如多个线程访问同一个对象、同一个变量、同一个文件当多个线程访问同一块资源时,很容易引发数据...

2020-05-26

如何利用FutureBuilder提高开发效率

常见场景 展示请求按钮 用户点击按钮,显示loading 展示数据或者错误抽象模式 展示请求按钮(初始状态) 用户点击按钮,显示loading(请求中状态) 展示数据或者错误 (结束状态(成...

2020-05-26

iOS中如何获取某个视图的截图详析

前言最近在做SDK的截图,想触发类似系统的截屏功能,找了一圈,总结一下靠谱的几种方式。
我写了个UIView 的category,将这几种方式封装和简化了一下。
第一种情形截图
这种是最最...

2020-05-26

iOS导航栏控制的一些总结

前言许久不写UI,对UI的很多东西都生疏了,最近使用导航栏的各种场景做一些总结。
1.导航栏的显示与隐藏
导航栏的显示与隐藏,分两种情况:1.从不显示导航栏的页面push到显示导航栏...

2020-05-26

iOS中如何判断当前网络环境是2G/3G/4G/5G/WiFi

前言5G 什么的,还得等苹果API更新啊,不过将来还是这个处理过程就是了。
关于判断当前的网络环境是2G/3G/4G,这个问题以前经常看到,最近在一工程里看到了如果判断的API。而在撸We...

2020-05-26

ios设备使用iframe宽度超出屏幕的解决方法

场景
在做公司官网h5项目时遇到iframe在苹果X手机上右侧超出屏幕的问题,感觉像是被截断一样,但是在其他手机上显示正常。
分析
问题原因:页面a利用iframe嵌入了b,同时设置iframe...

2020-05-26

UILabel显示定时器文本跳动问题的解决方法

先看一个有问题的展示效果:上面的gif图会发现在显示验证码计数时出现跳动和闪烁的问题。目前大多数用来实现定时器显示的控件都是UILabel。
在iOS9以前系统默认的英文字体是H...

2020-05-26

iOS常用算法之两个有序数组合并(要求时间复杂度为0(n))

思路: 常规思路:先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素, 一一对比, 直到找到合适的, 就插入进去;  简单思路: 设置数组C, 对比A和B数组的首项元素,...

2020-05-26

iOS 弹幕功能的实现思路图解

先来看一张效果图(LICEcap录制的有点卡, 凑合看)理一下大概流程:接下来实现: 弹幕视图从底部弹上来, 依次动画向上滚动, 出屏幕就移除加入重用队列, 下次使用.定义相关属性:...

2020-05-26

iOS动态更换Icon的全过程记录

iOS 动态更换Icon
动态切换 App 的 icon 这个需求,在上一家公司做一款定制 App 时遇到过一次,这次领导说可能需要做,就又做了一次。虽然不是什么很难的知识点,这里也就记录一下...

2020-05-26

iOS常见宏理解及使用方法

FOUNDATION_EXPORT, UIKIT_EXTERN
该宏的作用类似于extern,使用方法也与extern类似,在.m文件中,定义如下
NSString *const kFoundationExportString = @"Hello World"; NSStr...

2020-05-26

iOS实现文字水平无间断滚动效果

IOS跑马灯效果,实现文字水平无间断滚动,示例代码如下:ViewController.h#import <UIKit/UIKit.h> @interface ViewController : UIViewController{ NSTimer *timer; UISc...

2020-05-26

iOS代码瘦身实践之如何删除无用的类

前言本文将提供一种静态分析的方式,用于查找可执行文件Mach-o中未使用的类,源码链接:xuezhulian/classunref (本地下载)。
Mach-o文件中__DATA __objc_classrefs段记录了引用...

2020-05-26

iOS组件依赖避免冲突的小技巧分享

问题缘由
本文以 YBImageBrowser[1] 组件举例。YBImageBrowser 依赖了 SDWebImage,在使用 CocoaPods 集成到项目中时,可能会出现一些依赖冲突的问题,最近社区提了多个 Issues...

2020-05-26

详解MacOs免密登录CentOs操作步骤

MacOs免密登录CentOs
环境
本文操作的环境如下: CentOs 7 MacOs10.12.6生成秘钥
首先在本机生成秘钥,打开终端,输入:ssh-keygen -t rsa -C xxxxx@qq.com后面的邮箱随意就可以...

2020-05-26

iOS调试Block引用对象无法被释放的小技巧分享

Block技术在iOS开发中非常流行也很方便,但是稍微疏忽就可能会产生引用无法被释放的问题,从而造成内存泄漏。那如何知道哪个Block持有了对象并造成内存泄漏呢?
一个解决的方法是...

2020-05-26

iOS实现文本分页的方法示例

前言本篇文章将分为两部分,一部分是静态文本分页,一部分是动态文本分页即边填写文本边进行文本的分页.
我们所采用的方案为:TextKit进行处理,通过glyphRangeForTextContaine...

2020-05-26

iOs迁至WKWebView跨过的一些坑

前言
在iOS中有两种网页视图可以加载网页除了系统的那个控制器。一种是UIWebView,另一种是WKWebView,其实WKWebView就是想替代UIWebView的,因为我们都知道UIWebView非常占内存...

2020-05-26

iOS模拟中奖名单循环滚动效果

本文实例为大家分享了iOS模拟中奖名单循环滚动效果的具体代码,供大家参考,具体内容如下1.动态效果图: 2.思路:(1)控件:一个父View,依次添加两个tableVew,使其上下紧挨着,高度均等于所...

2020-05-26

iOS13适配的实现方法

1.私有KVC
[self setValue:baseTabBar forKey:@"tabBar"]; //正常[_textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];///崩溃[_textFie...

2020-05-26

浅谈iOS开发如何适配暗黑模式(Dark Mode)

暗黑模式
原理
将同一个资源,创建出两种模式的样式。系统根据当前选择的样式,自动获取该样式的资源 每次系统更新样式时,应用会调用当前所有存在的元素调用对应的一些重新...

2020-05-26

iOS导航栏对控制器view的影响详解

前言当我们设置导航栏的某些属性的时候会导致控制器View的布局不是从window的 (0,0)点开始布局,会从导航栏底部开始布局,而此时在 viewDidLoad 中 获取到View的frame 确实从(0,0)...

2020-05-26

解决iOS13 无法获取WiFi名称(SSID)问题

升级到iOS13以后,发现之前获取WiFi名称的接口失效了,返回的都是固定值"WLAN"。这里可能是因为苹果对用户隐私保护问题,因为通过wifi信息可以定位到用户地理位置。所以iOS13以后...

2020-05-26

iOS 13适配汇总(推荐)

随着iPhone 11的发布,iOS 13适配也提上了日程,接下来就开发中升级iOS13的手机可能出现的问题
Xcode: 11.0
iOS : 13.0UIViewController 模态弹出界面viewController.present(p...

2020-05-26

详解iOS中跨页面状态同步方案比较

由于团队希望项目能够去 CoreData 化,而以往状态同步都是依赖于 CoreData 的NSFetchedResultsController。因此去 CoreData 则必须寻找一种替代方案来进行状态同步。Notifica...

2020-05-26

iOS13即将到来,iOS推送DeviceToken适配方案详解

随着苹果iOS13系统即将发布,个推提前推出DeviceToken适配方案,以确保新版本的兼容与APP推送服务的正常使用。iOS13的一个重要变化是"[deviceToken
description]" 会受不同运行...

2020-05-26

iOS13原生端适配攻略(推荐)

随着iOS 13的发布,公司的项目也势必要着手适配了。现汇总一下iOS 13的各种坑1. KVC访问私有属性
这次iOS 13系统升级,影响范围最广的应属KVC访问修改私有属性了,直接禁止开发者...

2020-05-26

iOS查找私有API的方法示例

喜接新项目往往预示的会出一堆问题。解决问题的同时往往也就是学到更多东西的时候,这也许就是学习到新东西最直接最快速的方法吧!小编经过努力,新项目终于过测试了,可是被苹果大...

2020-05-26

iOS多Target环境配置的完整步骤

在项目的开发中, 经常会有测试、正式环境, 下面就来配置一下这两个环境:
一:拷贝源Target
(1): 拷贝源Target(2): 更改Target的名称
拷贝结束之后, 将拷贝的Target的名称改为“Tes...

2020-05-26

iOS ScrollView嵌套tableView联动滚动的思路与最佳实践

前言
随着业务的发展,页面的复杂度越来越高,嵌套滚动视图的方式也越来越受设计师们的青睐,在各大电商App十分常见。如下Demo图:但是这样的交互官方并不推荐,而且对开发来说确是...

2020-05-26

iOS常见算法以及应用知识点总结

算法比较关键词
二分 递归 分治 回溯冒泡排序
思想:两次循环,外层进行循环次数的控制,内层循环,进行数据之间的比较,大的数据上浮(下沉)#pragma mark - Objective-C//冒泡排序...

2020-05-26

详解iOS平台调用后台接口的正确姿势

前言
做iOS开发,除非你做的是单机应用,否则一定避免不了接口调用,也就是所谓的API调用。
而对于这方面,每个公司定义接口的格式不尽相同,从而导致我们的代码没法达到通用。
甚至...

2020-05-26

IOS 图片存放3种方式的实现

Image.xcassets 创建 .xcassets,以 Image Set 形式管理图片,添加图片后会生成对应的 content.json 文件 加入 @2x 和 @3x 等倍图后,打包后以 Assets.car 的形式存在, 使用 [U...

2020-05-26

iOS实现模拟定位功能的示例代码

前言
App中越来越多的功能依赖用户实际的位置,例如基于用户位置提供推荐数据、基于定位判断某些功能是否可用,但是在开发调试中XCode却没有提供自定义的模拟定位的功能,所以本...

2020-05-26
返回顶部
顶部