iOS移动开发
iOS移动开发
追夢秋陽
五年以上IT开发经验,先后从事过Asp、.NET 和 PHP web开发工作。现主攻iOS移动开发
展开
-
IQKeyboardManager Toolbar上next和previous不显示以及遮挡问题
因此有两种策略,一种是把包裹的父视图替换为支持的,二使用iOS的KVC模式追加值。2、设置属性(如果UITextView/UITextField 的inputAccessoryView 不为空也会导致不会出现,该值默认为空,并确认界面有多个输入框对象)IQKeyboardManager 自动管理键盘,非常实用开启后即可使用。1、确认开启了IQKeyboardManager。通过以上操作基本基本能解决所有相关问题!原创 2024-09-09 17:33:53 · 462 阅读 · 0 评论 -
SwiftUI初探
SwiftUI初探原创 2024-05-28 21:18:58 · 275 阅读 · 1 评论 -
iOS 借助DSYMTools工具定位到闪退的具体行数和方法名
iOS 借助DSYMTools工具定位到闪退的具体行数和方法名原创 2023-12-14 15:39:39 · 250 阅读 · 0 评论 -
iOS ApplePay 支付汇总一二
iOS ApplePay 支付汇总一二原创 2023-12-11 12:04:31 · 180 阅读 · 0 评论 -
ZFPlayer iOS16 系统横屏全屏问题处理
【代码】ZFPlayer iOS16 系统横屏全屏问题处理。原创 2022-11-02 19:33:18 · 3809 阅读 · 0 评论 -
iOS16 UITableViewCell 宽度异常右边空白的问题处理
经测试观察,在iOS16系统设备中,自定义的UITableViewCell 宽度在设备横屏模式下,右边空白的异常,而在其他系统和iOS16 竖屏下,都正常。设置UITabelView的约束或者直接指定frame 尺寸都解决不了。经过模拟器上观察发现是UITableViewCell 的 contentView 的宽度比实际的 cell 的宽度要少造成,而实际内容的添加都加在 contentView 上。原创 2022-10-27 11:19:52 · 1135 阅读 · 0 评论 -
iOS 移除所有Html 标签的参考
通过正则介绍移除文本中所有的Html标签原创 2022-10-11 11:34:39 · 397 阅读 · 0 评论 -
iOS界面操作指引的实现参考
实现该功能有多个思路,本文中主要介绍的是将遮罩、镂空区域以及下一步、跳过等元素动态处理而非切整张图的形式来实现,优点是:减少包的大小以及使用代码动态适配定位需要指引的栏目,支持多界面滚动定位指引。缺点,如果界面很长,需要指引的栏目在可见区域之外,此时处理会稍微麻烦(详见文中代码注释,此处有很大改进空间)。经模拟器上不同设备及系统(iPhoneSE一代、iPhoneXs、iPhoneXR、iPhone6/7/8Plus)上测试,效果有出入,基本偏差在可接受范围内,有其他高见欢迎留言拍砖。...........原创 2022-08-26 10:29:34 · 520 阅读 · 0 评论 -
ZFPlayer 播放器调用addPlayerViewToSmallFloatView开小窗播放样式错误以及无法关闭处理
ZFPlayer 播放器调用addPlayerViewToSmallFloatView开小窗播放样式错误以及无法关闭处理原创 2022-04-22 17:12:17 · 837 阅读 · 0 评论 -
Swift 使用NSSetUncaughtExceptionHandler 实现异常捕获及日志上传和app 起死回生
App 闪退对于开发人员来说比较头疼,对异常的捕获和定位,以便快速修复Bug 非常考验一个人的功底。对于iOS系统来说通过使用Runtime 和 扩展 来处理异常并友好的提示不让其闪退是不错的选择,但是比较繁琐。好在系统提供了一个 NSSetUncaughtExceptionHandler api 能捕获所有异常。今天主要介绍该函数在Swift 中的使用。先看下效果图:1、定义异常捕获及处理的相关方法。本代码参考了https://github.com/lbwxly/CrashH...原创 2022-02-14 15:19:11 · 2803 阅读 · 5 评论 -
Swift 实现全屏水印的参考
本文主要讨论的是给图片或者视图添加全屏水印。比较常见的是添加单个水印,这个比较好处理,网络上也有很多参考的方法。本文实现的是铺满的全屏水印原创 2021-12-10 11:51:11 · 2984 阅读 · 2 评论 -
七牛云图片在iOS和微信里面不显示问题处理
最近在开发iOS项目时,采用原生+VUE开发的H5,图片存储在七牛云中。在PC浏览器和安卓那边以及大部分iOS设备图片显示正常,而在部分手机iPhone6Plus(系统:iOS 12.5.4)中不显示,手机自带苹果浏览器以及微信里面都不显示,只有一个空的图片框,如下图:不显示的问题图片地址类似这样的:http://img-qiniu-test.shlingzhang.com/news/2021/08/25/f2d1e1d1-eafe-4bb8-b570-a1a9d5bf85d6.jpg?imageV原创 2021-08-27 19:56:01 · 1106 阅读 · 0 评论 -
Alamofire5 设置请求超时时间
Alamofire5为最新版本,是Swift语言开发的网络请求库,功能非常强大,支持链式语法,很优雅。相关参考资料:[Alamofire 5 的使用 - 基本用法](https://www.jianshu.com/p/4381fe8e10b6),[Alamofire官网](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md)。本文主要介绍了设置请求超时时间的两种方法: 方法一,通过 requestMo...原创 2021-06-18 09:41:44 · 1969 阅读 · 0 评论 -
iOS 使用 Charts 库实现分时、K线及指标
Charts 是IOS中比较强大的图表开源库,支持多种图表,具体可参考官网:https://github.com/danielgindi/Charts原创 2021-06-13 22:23:13 · 6008 阅读 · 22 评论 -
iOS 微信和QQ分享显示“未验证应用”问题处理(尤其是Swift 中 continueUserActivity 不执行问题)
由于在iOS13引入了UniversalLink导致微信好友、朋友圈分享时显示为验证引用。而且该问题会反反复复出现,很是头疼。最终得以经解决,现将过程和思路以及部分参考代码列出如下,供参考原创 2021-06-02 15:02:12 · 4911 阅读 · 1 评论 -
iOS开发漫话WKWebView之给H5网页图片添加点击事件以实现原生图片预览
这是漫画WKWebView的续篇。在此文中主要是实现给WKWebView 注入Js实现点击图片预览的需求。话不多说先看下成品效果:实现这个需求无疑就是实现Js与WKWebView交互操作,包括传值和相互调用。这个话题网络上有成堆的文章来介绍,本文中只用到了很少的一部分即:注入Js动态给img添加点击事件向WKWebView传值,原生响应事件获取参数来实现预览,落脚点是传值。整理下思路,app中可以使用Scheme、请求拦截和 JavaScriptCore以及WKScriptMessageH...原创 2021-03-10 19:34:42 · 1406 阅读 · 0 评论 -
iOS开发漫话WKWebView之动态获取网页高度
iOS开发漫画WKWebView之动态获取网页高度 最近在项目开发中遇到一个需求,一篇文章顶部的分析师信息以及底部的评论和回复以及文本框信息采用原生展示,中间的主体内容采用Vue框架做的H5展示。这里里面唯一的遇到的问题就是动态计算H5网页的高度,使得页面整体如一,不会有手势冲突。整体效果如下图:经过搜索资料整理,基本有两种思路,一是通过在didFinish里面注入Js脚本获取页面的scrollHeight,二是通过iOS的KVO模式监听contentSize的值(也有注入Js来监...原创 2021-03-10 17:42:24 · 1511 阅读 · 4 评论 -
Alamofire4 PUT、POSTbody传参以及实现Oauth2认证
Alamofire是原AFNetworking团队针对Swift语言封装的网络请求库,相较于AF基本不存在内存泄漏的问题。最新版是Alamofire5最低支持系统为iOS10,具体可参考文章:Alamofire 5 的使用 - 基本用法。针对AF框架存在的内存泄漏解决方案,博客园有很多文章,尤其是文件、图片上传导致的内存泄漏。具体可参考:[AFHTTPSessionManager m...原创 2020-05-06 10:59:07 · 2020 阅读 · 0 评论 -
实现两个UITableView垂直同步滑动,右边列表水平滑动,左边固定
两个UITableView垂直同步滑动,并且右边的列表能水平滑动,左边固定只能上下滑动,这个需求不常见。多见于了财经App中,左边是固定的行情名称和code,右边则有很多相关的信息展示,比如:当前值,开盘价、最高价、最低价、昨收价、收盘价、涨跌、涨跌幅等。经过构思,大致分析如下:1、左边是UITableView,与当前设备的同宽高。实际只展示一列数据,比如:美元USD2、通过addSubV...原创 2019-11-24 20:18:54 · 701 阅读 · 0 评论 -
AFNetworking 实现 OAuth 网络请求
关于OAuth 开放授权常用在获取身份认证和授权令牌token 获取等场景,关于OAuth更权威具体的知识介绍可参考网络资源了解。本文主要介绍了在Swift中使用AFNetworking 网络请求组件,进行OAuth请求。具体参考代码如下:/// OAuth 网络请求/// https://www.cnblogs.com/cui-cui/p/7107982.html/// - Param...原创 2019-10-23 14:48:13 · 241 阅读 · 0 评论 -
IOS 自定义 UIView 实现重用
好的代码应该是简洁、精炼的,这样不仅可以减少包的大小还可以提高内存的使用率和减轻后期维护负担。如下示例,介绍了 自定义UIView 实现重用,已满足复杂的UI 布局原创 2015-11-07 17:23:50 · 2949 阅读 · 0 评论 -
IOS 常用工具类方法(OC版本)
//MARK: - 视图设置/**! * 设置视图阴影 * * @para uView UIView 目标视图 * @para shadowColor UIColor 阴影颜色 * @para shadowOpacity Float 阴影透明度(0.0 ~ 1.0,默认0.5) * @para shadowRadius CGFloat 阴影半径(默认3) * ...原创 2019-02-14 16:09:48 · 1890 阅读 · 1 评论 -
ObjC贝塞尔曲线实现渐变带动画的信用圆环
ObjC贝塞尔曲线实现渐变带动画的信用圆环,参考示例代码:WangCreditView.h:#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN/** * 信用圆环 */@interface WangCreditView : UIView/** 当前显示的值(以及刻度值) */@property(nonatomic,...原创 2019-02-22 17:45:32 · 326 阅读 · 0 评论 -
Swift版国内省市县三级联动
1、引入数据模型 CountryCityModel.swift如下文件为省市县最新数据Model,使用的struct 结构体处理,比类的内存占用更小:import Foundation/** * 国家、省份、城市数据模型 */struct CountryCityModel { //MARK: - proterty /** 当前国家 */ sta...原创 2019-02-18 17:40:30 · 1874 阅读 · 0 评论 -
支持ObjC的Swift版 UILable文本数值变化效果
AnimatingLabel.swift 一种UILable 文本数值变化效果,强大简单实用。具体文件参考如下:import Foundationimport UIKitpublic protocol TextContainable: class { var text: String? { get set }}public protocol DigitAnimatable...原创 2019-03-20 12:04:01 · 462 阅读 · 0 评论 -
IOS 保存图片、视频到自定义相簿
网上有很多文章介绍了保存的图片和视频的到相簿的,几经对比和测试,效果都不如人意。经过实测和取长补短,现将重构后的参考实例粘贴如下,仅供学习和参考:1、检测相簿以及创建相簿:/** 创建自定义相册 */+(void)isExistFolder:(NSString * _Nonnull)folderName andBackaction:(void(^ _Nullable)(P...原创 2019-06-23 15:19:30 · 1182 阅读 · 0 评论 -
UICollectionView 水平滚动导致 section 和 cell 不能纵向布局的问题处理
UICollectionView 水平滚动导致 section 和 cell 不能纵向布局的问题处理 今天是节前最后一天,明天就是祖国70华诞,写篇博客预祝祖国国泰民安,繁荣昌盛。今天要和大家分享的问题是 当 UICollectionView 的UICollectionViewLayout 的滑动方向指定为 水平滚动(horizontal)时 导致Section...原创 2019-09-30 14:29:33 · 852 阅读 · 0 评论 -
Swift 使用NSRange 查找字符多次出现的位置处理
NSRange是个使用频率比较高的对象,尤其是在设置富文本(AttributedString)的地方。自带的rangeOfString 就可以查找某字符所在字符串中的位置。但如果要获取多次出现的位置信息就需要另辟蹊径了。如下代码实现了,获取多次出现的位置信息的方法,参考如下: /// 获取字符出现的位置信息(支持多次位置获取) /// - Parameter string: ...原创 2019-10-11 12:22:17 · 2761 阅读 · 1 评论 -
极光IM即时通讯初探
最近项目里需要添加IM通讯功能,初期负责人说要使用极光IM,一段折磨期就此开始了。个人之前用过腾讯IM、融云、环信等,这是第一次使用极光IM。说实话极光这个IM确实需要改进的地方很多,不吐不快:1、集成不方便,没有自带的UI组件,对于想快速实现IM聊天功能的需要谨慎选择。后来经过查找资料发现网上有一套通用的IM UI组件即Aurora IMUI,据说也是极光公司的,兼容极光IM,即便如此集成...原创 2019-01-15 18:57:33 · 8320 阅读 · 5 评论 -
融云IM-IOS版 会话列表删除最后一条信息时闪退
由于开发电商App需要客服的功能,临时使用了融云IM,基本上解决了有无问题。测试时发现会话列表(RCConversationListViewController)当侧滑删除最后一条会话时,程序崩溃闪退。异常信息如下:打客服电话,提交工单来回踢皮球,问题依然没解决。升级到最新版2.9.7同样存在,客服反馈他们的Demo 没问题。可官方Demo下载无法运行,说法已无法考证。万般无奈只有自己想办...原创 2018-11-15 21:06:00 · 620 阅读 · 0 评论 -
IOS 约瑟夫环游戏的实现
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。原创 2017-04-09 20:34:06 · 1136 阅读 · 0 评论 -
IOS 自定义UITabBarController的高度处理
UITabBarController 是App里面经常使用的 控件,一般主要栏目都会设置在 UITabBarController里面,最多可是设置五项。UITabBarController功能实用强大,相关其他属性设置请自行查找资料,本博文主要介绍自定义 UITabBarController高度的实现(主要出于底部高度太高,在4寸及以下尺寸手机上显得很占空间)原创 2017-03-17 18:04:55 · 5419 阅读 · 0 评论 -
IOS 点击查看预览大图缩放图片往下掉的处理
app新闻详情里面图片大多是缩略图,通过添加 UIScrollview 在,将其缩放查看大图是个比较常见的需求。但在缩放过程中,图片会往下掉。解决此现象就是在缩放时重新修正放大后的图片位置原创 2017-03-17 15:12:47 · 2597 阅读 · 0 评论 -
IOS UISearch Bar 自定义 属性处理
UISearch Bar 是一个非常不错的搜索框控件,系统自带了三种样式 并且 可以自己配置 需要显示的 按钮 比如:“取消”、“书签”等。当这些都不能满足个性化的UI界面时,我们就需要自定义里面的 属性了,比如:光标颜色、提示文本颜色、右边取消按钮的字体 和颜色等。如下示例代码,可以提供参考原创 2015-11-09 16:23:03 · 2335 阅读 · 0 评论 -
IOS10系统 app没有出现在系统设置-通知列表处理
IOS10系统 app没有出现在系统设置-通知列表处理app 有推送功能,安装后却没有出现在 系统设置-通知列表 处理App推送收不到,使用 [[UIApplication sharedApplication] isRegisteredForRemoteNotifications] 检测通不过 处理IOS10 系统关闭通知后再开启,开启成功却收不到推送处理原创 2016-09-27 19:33:46 · 8156 阅读 · 0 评论 -
IOS·Swift 集合类型之字典类型排序
Swift语言提供了经典的数组和字典两种集合类型来存储数据。数组用来按顺序存储相同的类型的数据。字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对)。 Swift语言里的数组和字典中存储的数据值类型必须明确。这意味着我们不能把不同正确的数据类型插入其中。同时这也说明我们完全可以对获取出的值类型非常自信。Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚。也让我们在开发中可以早早地找到任何的类型 不匹配错误。 Swift的字典使用时原创 2016-03-13 19:03:37 · 6109 阅读 · 0 评论 -
UIWebView 点击查看大图
UIWebView 点击图片查看大图原创 2015-08-07 11:04:09 · 960 阅读 · 0 评论 -
IOS UIWenView 调整页面字体大小
IOS 通过JavaScript脚本 改变 UIWebView 中文本字体的大小原创 2015-08-03 18:54:12 · 2414 阅读 · 0 评论 -
IOS 获取苹果手机的分辨率
IOS 获取苹果手机的分辨率IOS 获取苹果手机的分辨率,示例代码如下:Utils.h#import enum { UIDevice_iPhone3 = 1, // iPhone 1,3,3GS Standard Resolution (320x480px) UIDevice_iPhone4转载 2015-08-28 09:39:02 · 1568 阅读 · 0 评论 -
IOS实现文字水平无间断滚动
IOS跑马灯效果,实现文字水平无间断滚动原创 2015-07-08 12:22:29 · 7347 阅读 · 2 评论