- 博客(105)
- 收藏
- 关注
原创 IOS17闪退问题Assertion failure in void _UIGraphicsBeginImageContextWithOptions
IOS17闪退
2024-06-28 17:20:10
631
转载 iOS无痕埋点方案分享探究
当前互联网行业的竞争已经是非常激烈了, “功能驱动”的时代已经过去了, 现在更加注重软件的细节, 以及用户的体验问题。说到用户体验,就不得不提到用户的操作行为。在我们的软件中,我们会到处进行埋点, 以便提取到我们想要的数据,进而分析用户的行为习惯。通过这些数据,我们也可以更好的分析出用户的操作趋势,从而在用户体验上把我们的app做的更好。随着公司业务的发展,数据的重要性日益体现出来。数据埋点的全面性和准确性尤为重要。只有拿到精准并详细的数据, 后面的分析才有意义。
2024-05-28 14:55:02
224
转载 iOS 自动更换 App Icon
Info.plist内添加Icon files (iOS 5),默认带两个key,这个不用管。unsafeBitCast:转换时会忽略数据类型的强制转换,不会因为数据类型的变化而改变原来的内存数据。链接:https://www.jianshu.com/p/87f57fb4f309。看到节假日手机里的App Icon没有更新情况下自动换了。上面两段代码都会弹出更换icon的提示框,体验很不好。Swift内调用的话需要桥接一下。尝试Swift方式取消弹窗无果。下一步是把这个提示框想办法干掉。
2024-03-19 17:20:44
632
转载 如何实现同一个项目里面支持VUE2与VUE3两个不同环境
当用户安装所有包后,脚本将开始检查已安装的 Vue 版本,并根据 Vue 版本返回对应的代码。是一个让你可以开发同时支持 Vue2 和 3 的通用的 Vue 库的开发工具,而无需担心用户安装的版本。往往使用起来越简单的代码,隐藏在其之下的原理就越值得探究。与方案一类似,在仓库中建两个分支 v2 和 v3,分别支持 Vue 的两个版本。效仿 Vue,建两个仓库,一个适配 v2,一个适配 v3,取名。引入,又与当前运行时的 Vue 版本有关,该怎么办呢?任何与 Vue 相关的 API,都不再从原先的。
2024-02-07 15:56:47
3811
原创 CADisplaylink内存泄漏的问题
注意我红框框起来的位置这里使用 CADisplaylink 来实现定时器的功能,让云标签转起来。对,没错,问题就出在 CADisplaylink 对象这里,我在网上查了一些文章,以下是几篇具有代表性的。
2024-01-19 16:30:01
1103
原创 vue 实现签字功能
imgFile = this.base64ImgtoFile(res, 'file') //得到文件格式。1、安装:npm install vue-esign --save。// 将base64,转换成图片。
2023-12-13 16:23:37
1050
转载 vue-router传参的几种方式
1. 一种是路由参数,通过定义动态路由传递参数2. 另一种是通过query来传递参数再者,一类是<router-link>组件的to跳转二是通过编程式导航,通过js命令进行跳转那么,两种传参方式,两种跳转方式就会有四种搭配写法。
2023-11-13 17:33:28
3513
转载 iOS 横竖屏及状态栏的处理
做好配置后我们就可以对各个方向进行配置,因此需要监听屏幕的各个方向,我们可以用UIApplicationDidChangeStatusBarOrientationNotification来监听,代码如下。然后可以在 AppDelegate 通过一个参数控制支持的方向,最终都会以AppDelegate 中支持的方向为准。如果是有Navigation控制的,也需要在BaseNavigation里设置。这样的基础配置后,如果某个页面需要支持所有方向就可以重写对应的方法.这样我们就可以做强制横屏的竖屏的操作了。
2023-09-28 16:27:57
2509
原创 van-button根据参数改变字体颜色,实现高度自定义
有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。当我们需要覆盖 element-ui 中的样式时只能通过深度作用选择器 style 为 css 时的写法如下。建议使用第二种方式,/deep/在某些时候会报错,::v-deep更保险并且编译速度更快。但是像scss等预处理器却无法解析>>>,所以我们使用下面的方式.1 >>> 如果vue的style使用的是css,那么则。
2023-09-15 17:31:36
2044
转载 iOS开发常用技术底层实现(精简概述)
类的实例方法是存储在类的methodLists中,而类方法则是存储在元类的methodLists中,因此根据上图,NSObject的元类的superclass是指向Class,当调用[NSObject foo]的时候,因为这是一个类方法调用,所以从元类中查找签名为foo的方法,没有发现,然后再沿superclass继续查找,结果在Class中查找到该方法,于是调用该方法输出。因为在MRC下,block在创建的时候,它的内存是分配在栈(stack)上的,而不是在堆(heap)上,可能被随时回收。
2023-08-15 17:16:43
814
原创 elementUi upload上传达到limit后隐藏upload图标
如题所述,我们项目要求上传控件最大只允许上传3张。当数量达到的时候,自动隐藏上传按钮控件。而当点击删除之前的照片后,又重新显示上传按钮控件。但是光这样子设置呢,会有些许瑕疵,因为控件本身有删除动画时长,进而使得先出现了第四个按钮,再等删除动画完成后,重新显示了三个控件。这里我们选用了饿了么的elementUi里的el-upload控件作为基础,再添加我们的需求。所以,我们就必须在删除操作里,给个响应时长。这样子才能完美显示/隐藏按钮。主要的templete如下。而对应的style如下。
2023-07-11 17:33:01
2995
原创 实现VAN-LIST的ITEM动态高度
这里要注意,不能在mounted方法里执行,因为当数据更新的时候,并不会重新调用该方法。所以我们要在updated方法里去执行,更新数据时也会调用这个方法,从而实现loading更新数据,新item也能实现动态高度。本人系统使用的VANT2,根据需求,要实现van-list的item根据内容改变自身高度。其实整体需求并不算太难,但晚上搜索良久,并没有找到相关的文章,故特此留下记录,为后人解惑。为了实现动态item高度,对应MessageItem控件里,我们需要计算出对应高度并给控件高度重新赋值。
2023-06-15 17:33:47
530
转载 js添加事件和移除事件:addEventListener()与removeEventListener()
addEventListener()与removeEventListener()
2023-04-11 17:30:43
2101
原创 关于VIDEO.JS播放器控制栏播放按钮点击问题
关于如何调用video.js组件作为播放器实现视频播放功能,网上有很多相关帖子,这里就不详细展开了。但在众多帖子里面,都没有提到网页版video的控制栏播放按钮点击问题,特此留贴记录一番。关键点在于@play="videoPlay"和@pause="videoPause"这两个参数就是设置对应控制台播放暂停按钮点击方法。虽然通过别的代码已经实现了点击整个屏幕范围播放停止功能,但是对于这个控制栏按钮点击无效的小瑕疵,还是必须解决的。经过网上一轮搜寻,发现它可以有一些方法去实现这个按钮的点击。
2023-03-16 13:51:39
2570
1
原创 iOS 系统相机拍照后图片无法拖拽问题的解决
问题:使用系统相机拍照,并允许编辑allowsEditing = YES,但在图片编辑界面只可以对图片进行缩放却无法拖拽。该方法是对系统自带的BUG做出适配性调整。但由于iOS12
2022-12-05 15:22:58
1183
原创 iOS 添加WKWebView导致控制器无法释放的问题
使用 添加了下面这行代码之后ViewController就会调用dealloc方法,此时ViewController已经正常释放。但是WeakScriptMessageDelegate没有释放,需要在dealloc中将WeakScriptMessageDelegate释放掉。在WkWebView与JavaScript交互中,经常会在原生中注入MessageHandler,app中注入MessageHandler的方法。这里我们发现在向JS中注入handler的时候强引用了self,最终导致内存泄漏。
2022-10-14 16:38:30
735
转载 iOS 网络权限管理
但有时第一次安装时不出现选择网络,需要在设置中修改任意一个应用的网络权限,然后重启App,就会提示网络(目前没有找到不出现选择网络的原因);AFNetworkReachability或者Reachability来判断网络的可达性,这两个类可以判断网络是否可达,以及可达时网络的类型(WLAN还是蜂窝移动网络);CTCellularData来判断网络数据是否受限,只有应用网络权限设置为WLAN与蜂窝移动网时,网络数据才会返回不受限;注:关闭网络,及关闭无线局域网和蜂窝移动网络。
2022-09-15 16:59:11
5109
原创 如何修改UIImagePickerViewController的导航栏背景颜色及取消按钮颜色
如题所示,最近,项目里面需要我对系统自带的UIImagePickerViewController选择图片控制器的导航栏做个性化的定义。查找了一下,发现网上部分方法通常为全局修改,并不适合我这个案例。避免了全局统一修改,只针对UIImagePickerViewController这个类别的控制器。特此记录下有效代码。...
2022-06-08 17:30:08
975
原创 iOS11上tableview添加背景图片,要求图片跟随tableview滚动
最近适配iOS11 遇到一个很奇怪的问题。tableview添加背景图片,要求图片跟随tableview滚动。(非headerview图片)iOS11以下的版本都是insertSubview : atindex:0 。直接插入到index0的层级就好了。但iOS11上无论怎么插入都会在tableview最上层,遮挡tableview的显示内容。设置tableview的backgroundView能正确显示。但是图片不能滚动。然后将图片插入backgroundView的上面,依然不行。图片依然被添加
2022-05-10 22:50:52
1345
转载 iOS Gif图片展示N种方式(原生+第三方)
本文分享了iOS Gif图片展示N种方式,供大家参考,具体内容如下原生方法:1.UIWebView特点:加载速度略长,性能更优,播放的gif动态图更加流畅。 1 2 3 4 5 6 7 8 9 10 11 12 13 //动态展示GIF图片-WebView -(void)showGifImageWithWebView{ //读取gif图片数据 ..
2022-04-11 09:18:47
2592
原创 [mac 升级10.15 macOS Catalina引起cocoapods使用失败]
报错信息如下zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory尝试升级cocoapods解决,升级步骤如下更新gemsudo gem update --system升级cocoapodssudo gem install -n /usr/local/bin coco
2022-03-09 17:32:39
303
转载 Xcode13 新建项目 Products 目录显示方法
首先打开项目,然后进入到你的项目目录并打开project.pbxproj文件1、show in Finder 找到项目在电脑上的位置2、右键点击xxx.xcodeproj -> 选择显示包内容3、右键点击project.pbxproj -> 选择Xcode等工具打开文件搜索productRefGroup 关键字搜索结果可能有多个,每个项目的键值不一样具体看自己的项目。注意看productRefGroup的注释 为/* Products */ 才是我们要修改的main
2022-03-09 17:29:22
1480
转载 iOS 自动构建命令——xcodebuild
想想当初天天来到公司,每天需要做一件事就是打开Xcode打包ipa,上传到fir。日复一日月复一月年复一年的做着同样的事情,作为有志成为优秀工程师的我来说,这是必须要解决的问题,所以决定自动化解决问题。简介xcodebuild 是苹果发布自动构建的工具。它在一个Xcode项目下能构建一个或者多个targets ,也能在一个workspace或者Xcode项目上构建scheme,总的来说,用它没错就是了。用法说明Tips:在终端输入man xcodebuild,可以看到Description
2022-02-11 15:56:52
5551
转载 OC中WKWebView与js的交互
之前用UIWebView的时候,非常的爽,用JSContext这个类就可以做想做的事,现在要改成WKWebView就比较的坑爹了(这是为什么博主要换控件的原因),因为博主需要在页面文件加载之前就把参数给到web端(js调用有返回值oc方法)。把WKWebView的所以代理方法都看了一遍,发现只有下面方式能与js交互:window.webkit.messageHandlers.<name>.postMessage();但是这个是没有返回值的,于是博主又想到了。如果让web端用这个方法来通知
2022-02-11 15:54:05
571
原创 iOS非金额两位小数转化为大写中文
最近APP中出现该需求,所以自己开发了一下相关方法,具体代码如下,按需自取。-(NSString *)changetochinese:(NSString *)numstr{ double numberals=[numstr doubleValue]; NSArray *numberchar = @[@"零",@"壹",@"贰",@"叁",@"肆",@"伍",@"陆",@"柒",@"捌",@"玖"]; NSArray *inunitchar = @[@"",@"拾",@"佰",
2022-01-07 17:09:40
1409
转载 iOS 阿拉伯数字转其他文字(系统自带方法数字格式化)
1. Objective-C: double testNum = 367.12459; NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; /// 拼写输出中文 formatter.numberStyle = kCFNumberFormatterSpellOutStyle; /// 如果不设置locle 跟随系统语言 formatter.locale = [[NSL
2022-01-07 17:04:24
846
转载 iOS-FLAnimatedImage加载Gif
iOS中有时候需要加载一些Gif动画图片,从实现方式和性能上考虑目前FLAnimatedImage比较适合.基础实现安装FLAnimatedImage第三方库,导入头文件FLAnimatedImage,加载Gif图片: self.showBgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; self.showBgView.center = self.view.center; NSURL
2021-12-07 17:49:19
1106
原创 在启动页后添加本地gif图
最近公司需要实现这个功能,给客户展示炫酷的GIF图以留下第一印象。故此,以FLAnimatedImageView为基础框架,封装了一个启动页GIF动图框架。+(void)load{ [self shareLaunch];}+(RBGifLaunch *)shareLaunch{ static RBGifLaunch *instance = nil; static dispatch_once_t oneToken; dispatch_once(&oneT
2021-12-07 17:47:31
498
原创 图文可编排的跑马灯效果
近日,实现公司要求,完成可编排跑马灯效果。因此,初步实现需求。下述为主要代码#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@protocol RPLoopQueueViewDelegate <NSObject>@optional-(void)didClickArrayBtn:(UIButton *)sender;@end@interface RPLoopQueueView : UIView@prope
2021-11-08 09:48:40
155
原创 关于UIScrollView的精度问题
最近有个需求,要实现跑马灯效果,初步设想使用UIScrollView,然后用定时器,不断的设置contentOffset;但是发现时间,显示contentOffset的Y值总是与想象中的距离有误差。然后发现在不同的机型下scrollView的contentOffset都是有最小精度值的,这可以通过scrollView的代理,打印当前contentOffset获得。iphone6,7等下面精度值是1/2 pt;iphone7P,8P,X等机型下面精度值是1/3pt;在iphone6下面比如设置c
2021-11-05 17:29:39
290
原创 IOS自定义悬浮按钮
最近弄个小项目,又用到这效果,翻了下以前的代码来用,觉得有点意思,顺便放出来供大家参考,好像是2015年的时候,某些大公司,如“京东”在APP的首页上弄了个漂浮的图标,当时我在的公司也立马跟着弄一个,类似这样的模仿行为我已经习惯了!就是在界面上弄一个漂浮的按钮,能移动和点击响应,也不是随便漂和移,要吸附在左右两边,这个效果大概如下图:先上代码#import <UIKit/UIKit.h> @interface KADDragImageView : UIImageV.
2021-10-12 17:26:48
538
转载 Xcode 13 更新了哪些内容
直接进入主题。外观对比Xcode 12,风格和显示都发生了变化:去掉了文件拓展名 图标也可以识别文件类型自动调整了 导航栏布局重新进行了分布和调整 右下角增加了光标所在行列数文件拓展名设置:打开设置 - 通用选择File Extensions:文件拓展名的显示隐藏控制,选项有三种:Hide All:隐藏全部拓展名 Show All:显示全部拓展名 Show Only:自定义显示拓展名↓↓↓↓问题提醒设置:在设置 - 通用里还多了...
2021-10-12 17:06:01
434
原创 提前做好iOS15适配准备
一、导航的毛玻璃效果在iOS15中,UINavigationBar默认是透明的,有滑动时会逐渐变为模糊效果,可以通过改变scrollEdgeAppearance属性直接变为模糊效果if (@available(iOS 15.0, *)){ UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init]; appearance.backgroundEffect = [UI...
2021-09-06 15:54:18
554
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人