
iphone开发
文章平均质量分 66
BruceGwo
iOS开发者、flutter开发、Javascript兼有学习Cocos creator游戏开发。积极主动,做好学习规划,探索未知的可能。
展开
-
iOS开发 UIAlertView与UIActionSheet替换方案之SDAlertView与SDActionSheet
iOS开发 UIAlertView与UIActionSheet替换方案之SDAlertView与SDActionSheet由于在iOS开发中,项目中还在使用UIAlertView与UIActionSheet,由于这两个类在iOS开始废弃需要更换成UIAlertController。UIAlertView与UIActionSheet都更换成UIAlertController,一个一个文件更改代码不太合适,更改较多,所以考虑自定义类封装UIAlertController使用。原创 2024-12-17 16:24:50 · 1403 阅读 · 0 评论 -
iOS开发 Method Swizzling黑魔法处理异常问题
class_addMethod如果类没有该方法,为其添加方法,则返回YES;如果有该方法,则返回NO,所以我们在交互前可以加入这个进行判断。} else {防止出现问题,防止直接替换的时候调用过程中出现unrecognized selector sent to instance的崩溃问题。原创 2024-12-10 14:04:39 · 921 阅读 · 0 评论 -
iOS开发-图片上涂鸦绘制撤销功能
iOS开发-图片上涂鸦绘制撤销功能当我们需要重新在图片上进行绘制涂鸦生成新的图,这里使用到了Graphics中的API功能。Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。微信搜索小游戏《全民保卫地球》玩玩吧,lets go。原创 2024-07-31 11:08:23 · 655 阅读 · 0 评论 -
iOS开发-UIBezierPath裁剪图片成珠宝形状
iOS开发-UIBezierPath裁剪图片成珠宝形状之前的项目中用到了需要根据指定形状进行裁剪图片。原创 2024-07-30 17:44:09 · 398 阅读 · 1 评论 -
iOS开发-类似微信图片裁剪功能
在裁剪过程中,拖动的时候会有一个RatioSDRatio.h@endSDRatio.mif(self){return 0;@end定义可以拖动的裁剪框,我们需要根据拖动手势UIPanGestureRecognizer来实现。UIPanGestureRecognizer是一种手势识别器,用于识别用户在屏幕上进行的拖动操作。通过该手势识别器,我们可以实现一些拖动相关的交互效果,比如拖动视图、改变视图大小等。例如,我们添加手势。原创 2024-07-30 16:35:37 · 1323 阅读 · 0 评论 -
iOS开发-4位或者6位验证码按顺序输入实现
iOS开发-4位或者6位验证码按顺序输入实现之前实现了获取验证码后,验证码依次输入的实现功能, 输入手机号后,点击用短信验证码登录然后在界面点击用短信验证码登录,之后依次输入4位或者6位验证码。这里进行一下记录。原创 2023-10-27 10:05:22 · 1386 阅读 · 0 评论 -
iOS开发-CoreNFC实现NFC标签Tag读取功能
iOS开发-CoreNFC实现NFC标签Tag读取功能。原创 2023-10-27 09:34:58 · 2570 阅读 · 1 评论 -
iOS开发-Lottie实现下拉刷新动画效果
iOS开发-Lottie实现下拉刷新动画效果在开发过程中,有时候需要自定义下拉刷新控件,这里使用Lottie实现下拉刷新动画效果。原创 2023-10-26 16:49:07 · 1737 阅读 · 0 评论 -
iOS开发-自定义下拉刷新控件PullDownRefreshView
iOS开发-自定义下拉刷新控件PullDownRefreshView在开发过程中,有时候需要自定义下拉刷新控件,这时候我们就需要自定义PullDownRefreshView。PullDownRefreshView是在UIScrollView上。原创 2023-10-26 16:28:35 · 329 阅读 · 0 评论 -
IOS开发-高德地图POI开发
多边形搜索也不难理解,很多时候我们搜索的范围不是一个规则的圆形,而是一个边缘线不规则的区域,比如:我是一个商业调查公司,想搜索望京商圈里,有多少座写字楼,就可以使用多边形搜索功能,划定一个不规则范围,在该范围内进行搜素;周边搜索,就是我们在各个APP上最常见的“附近”功能,比如:我现在位于杭州西湖,想看看周边有什么好吃的餐馆,点击“附近”好吃的餐馆就都在地图上标注出来了;关键字搜索,就是一个比较精准的地名搜索,比如:我们在地图上搜索一个地名:故宫博物院,故宫的位置会在地图上标注出来;原创 2023-10-10 23:30:33 · 604 阅读 · 0 评论 -
iOS开发 通过分析UMeng的错误详情解决crash问题
从上面的log中,我们可以看到问题所在,crash出现在BrowserViewController+Ex.m的29行。以及可以从start_addr: 0x003f53e2 -[BrowserViewController(Ex) getShareModel:]看出crash问题所在的方法。在项目中获取崩溃信息很重要。第三方crash分析工具,甚至还带了符号化crash日志的功能。所以我们需要找出出现crash的代码所在的位置。在以上的出现crash的log中,我们可以看到无法直接定位crash的代码行。原创 2023-10-08 14:45:23 · 276 阅读 · 0 评论 -
iOS BUG UIView转UIImage模糊失真
#UIScrollView内容转成UIIMageView方法。iOS BUG UIView转UIImage模糊失真。运行后发现,转换后的UIImage显示后会变模糊失真。##UIView转成Image。学习记录,每天不停进步。原创 2023-10-08 14:40:02 · 816 阅读 · 0 评论 -
iOS开发-WKWebView加载微信H5支付
在开发中,遇到需要使用WKWebView加载微信H5支付。原创 2023-09-29 09:17:58 · 662 阅读 · 0 评论 -
WebRTC音视频通话-WebRTC推拉流过程中日志log输出
WebRTC音视频通话-WebRTC推拉流过程中日志log输出。在WebRTC日志需要用到RTCCallbackLogger,使用startWithMessageAndSeverityHandler来处理日志输出。原创 2023-08-31 10:52:37 · 1468 阅读 · 0 评论 -
WebRTC音视频通话-iOS端调用ossrs直播拉流
WebRTC音视频通话-iOS端调用ossrs直播拉流。用到了WebRTC调用ossrs实现推拉流效果。原创 2023-08-21 21:58:19 · 1747 阅读 · 7 评论 -
WebRTC音视频通话-WebRTC视频自定义RTCVideoCapturer相机
WebRTC音视频通话-WebRTC视频自定义RTCVideoCapturer相机。主要获得相机采集的画面CVPixelBufferRef,将处理后的CVPixelBufferRef生成RTCVideoFrame,通过调用WebRTC的localVideoSource中实现的didCaptureVideoFrame方法原创 2023-08-15 22:31:51 · 7028 阅读 · 0 评论 -
WebRTC音视频通话-RTC直播本地视频及相册视频文件
WebRTC音视频通话-RTC直播本地视频文件。主要用到AVPlayer播放视频,AVPlayerItemVideoOutput得到CVPixelBufferRef,将处理后的CVPixelBufferRef生成RTCVideoFrame,通过调用WebRTC的localVideoSource中实现的didCaptureVideoFrame方法原创 2023-08-13 23:17:56 · 1415 阅读 · 6 评论 -
WebRTC音视频通话-实现GPUImage视频美颜滤镜效果iOS
WebRTC音视频通话-实现GPUImage视频美颜滤镜效果。主要用到GPUImage处理视频画面CVPixelBufferRef,将处理后的CVPixelBufferRef生成RTCVideoFrame,通过调用localVideoSource中实现的didCaptureVideoFrame方法。原创 2023-08-13 21:49:34 · 1435 阅读 · 0 评论 -
WebRTC音视频通话-新增或修改SDP中的码率Bitrate限制
WebRTC音视频通话-新增或修改SDP中的码率Bitrate限制参数这里WebRTC音视频通话过程中修改SDP中的码率Bitrate。原创 2023-08-13 19:00:14 · 2098 阅读 · 0 评论 -
WebRTC音视频通话-实现iOS端调用ossrs视频通话服务
WebRTC音视频通话-实现iOS端调用ossrs视频通话服务这里iOS端使用GoogleWebRTC联调ossrs实现视频通话功能。原创 2023-08-13 18:34:10 · 2800 阅读 · 25 评论 -
WebRTC音视频通话-WebRTC本地视频通话使用ossrs服务搭建
iOS开发-ossrs服务WebRTC本地视频通话服务搭建之前开发中使用到了ossrs,这里记录一下ossrs支持的WebRTC本地服务搭建。原创 2023-08-13 11:02:15 · 2228 阅读 · 0 评论 -
iOS开发-实现二维码扫一扫Scan及识别图片中二维码功能
iOS开发-实现二维码扫一扫Scan及识别图片中二维码功能。扫一扫是使用摄像头扫码二维码或者条形码,获取对应二维码或条形码内容字符串。识别图中二维码通过CIDetector来识别出内容字符串。最后实现响应的业务逻辑。原创 2023-08-12 16:00:07 · 3730 阅读 · 0 评论 -
WebRTC音视频通话-WebRTC本地直播高分辨率不显示画面问题
iOS开发-WebRTC本地直播高分辨率不显示画面问题,使用WebRTC结合ossrs进行推流时候,ossrs的播放端无法看到高分辨率画面问题。通过设置RTCPeerConnectionFactory的initWithEncoderFactory最后解决了该问题原创 2023-08-11 22:48:51 · 2369 阅读 · 0 评论 -
iOS开发-导航栏UINavigationBar隐藏底部线及透明度
方法3:循环遍历一下UINavigationBar的所有子视图,发现有UIImageView类型的视图就remove掉,或者设成隐藏状态(hidden)。如果你不调用方法设置一张背景图片的话,那就给你默认一张,然后同时还有一张阴影图片被默认设置上去,这就是导航栏上1px黑线的由来。方法2:将UINavigationBar的clipsToBounds属性设成YES。iOS 导航栏UINavigationBar隐藏底部线及透明度。学习记录,每天不停进步。原创 2023-08-09 21:08:01 · 1798 阅读 · 0 评论 -
iOS开发-JsonModel的学习及使用
如果验证JSON通过的话,将会通过json中的key的value值为CountryModel的id,country,dialCode,isInEurope的属性赋值。自动将JSON转成你的模型类,大大减少你需要编写的代码量。当我们从服务端获取到json数据后的时候,我们需要在界面上展示或者保存起来,下面来看下直接通过NSDictionary取出数据的情况。从以上的代码,我们能够看出,取出数据相当繁琐的。为了防止显示及出现crash等问题,还需要判断值的nil,null,类型等情况的出现。原创 2023-08-09 21:02:38 · 810 阅读 · 0 评论 -
iOS开发-处理UIControl触摸事件TrackingWithEvent
今天遇到一个问题BUG,当点击时直接移开手指时要求被点击的控件变小后恢复状态;还需要长时间触摸在该控件上,手指不移开的时候,控件一直保持在变小的状态,一段时间移开手指时控件恢复正常的状态,以便响应用户的操作。从上面的代码,我们可以看出,是UIControl的点击事件,动画结束后回调block,之后//todo something 如push跳转等操作。##第二种情况:长时间触摸在该控件上,手指不移开的时候,控件一直保持在变小的状态,一段时间移开手指时控件恢复正常的状态。点击的时候的动画处理,先变小后恢复。原创 2023-08-09 21:01:35 · 1748 阅读 · 0 评论 -
iOS开发-performSelectorInBackground 与 performSelectorOnMainThread
Cocoa框架提供了performSelectorInBackground 与 performSelectorOnMainThread两个实例方法来实现简单的多线程编程技术。原创 2023-08-09 20:55:18 · 267 阅读 · 0 评论 -
IOS开发-聊天键盘弹出动效优化
当我们做聊天节目时候,很多时候我们会看下微信的效果,微信的输入框在键盘弹出或消失的时候会输入框的位置移动比较流畅,和键盘一起来改变输入框的位置,这个动画实现呢,我们一般会处理键盘的通知:UIKeyboardWillChangeFrameNotification。IOS 优化 聊天键盘弹出动效优化。学习记录,每天不停进步。原创 2023-08-09 20:53:25 · 415 阅读 · 0 评论 -
iOS开发-CIDetector识别图片中人脸功能
iOS开发-CIDetector识别图片中人脸功能。CIDetector是CoreImage框架中提供的一个识别的类,可以对人脸、形状、条码、文本进行识别。原创 2023-08-09 20:47:47 · 623 阅读 · 0 评论 -
iOS开发-CocoaLumberjack日志库实现Logger日志功能
iOS开发-Logger日志功能实现。常用CocoaLumberjack来作为日志功能实现的日志框架,输出到DDTTYLogger(Xcode 控制台)、DDASLLogger(苹果日志系统)、DDFileLogger(本地文件)。通过不同的Logger Level如Verbose、Debug、Info、Warn、Error等日志输出到日志以便分析出现问题的代码。原创 2023-08-05 12:11:39 · 1820 阅读 · 0 评论 -
iOS开发-NSOperationQueue实现上传图片队列
iOS开发-NSOperationQueue实现上传图片队列在开发中,遇到发帖需要上传图片,需要上传队列,这时候用到了NSOperationQueue。原创 2023-08-05 11:45:38 · 363 阅读 · 0 评论 -
iOS开发-UIScrollView嵌套tableView实现顶部tab横向切换
iOS开发-UIScrollView嵌套tableView实现顶部tab横向切换通过ScollView嵌套两个TableView左右切换功能。原创 2023-08-01 22:17:52 · 856 阅读 · 0 评论 -
iOS开发-AFNetworking网络请求及上传下载功能
iOS开发-AFNetworking网络请求及上传下载功能AFNetworking是一个轻量级的iOS网络通信类库,可以方便实现网络请求。原创 2023-07-31 22:43:28 · 1199 阅读 · 0 评论 -
iOS开发-检查版本更新与强制更新控制
iOS开发-检查版本更新与强制更新控制。在开发中经常遇到需要检查版本,检查版本及请求appstoreLookUrl查看版本号与当前的版本号进行比对,看是否需要更新。强制更新控制,是将获取到当前版本号传给服务端,服务端判断当前的版本是否需要强制升级。原创 2023-07-31 22:24:04 · 933 阅读 · 0 评论 -
iOS开发-实现自定义Tabbar及tabbar按钮动画效果
INSysTabbar继承UIView,实现tabbarButton效果//代理 @property(nonatomic , strong) UIImage * bgroundImage;//背景图 @property(nonatomic , strong) INSysTabbarShapeView * tabbarBGShapeView;//背景图 @property(nonatomic , strong) UIColor * lineColor;原创 2023-07-31 22:02:44 · 2190 阅读 · 6 评论 -
iOS开发-实现3DTouch按压App快捷选项shortcutItems及跳转功能
iOS开发-实现3DTouch按压App快捷选项shortcutItems及跳转功能App的应用图标通过3D Touch按压App图标,会显示快捷选项,点击选项可快速进入到App的特定页面。这里用到了UIApplicationShortcutItem与UIMutableApplicationShortcutItem。原创 2023-07-31 21:28:04 · 821 阅读 · 0 评论 -
iOS开发-实现热门话题标签tag显示控件
iOS开发-实现热门话题标签tag显示控件话题标签tag显示非常常见,如选择你的兴趣,选择关注的群,超话,话题等等。原创 2023-07-31 20:26:03 · 1705 阅读 · 0 评论 -
iOS开发-使用网络特殊字体下载CGFontRef
iOS开发-使用网络特殊字体下载cffont在开发中遇到需要将字体下载后再显示的情况,这种特殊字体下载后才能正常。原创 2023-07-31 00:14:04 · 325 阅读 · 0 评论 -
iOS开发-NotificationServiceExtension实现实时音视频呼叫通知响铃与震动
iOS开发-NotificationServiceExtension实现实时音视频呼叫通知响铃与震动在之前的开发中,遇到了实时音视频呼叫通知,当App未打开或者App在后台时候,需要通知到用户,用户点击通知栏后是否接入实时音视频的视频或者音频通话。在iOS需要为工程新建Target:NotificationServiceExtension。原创 2023-07-31 00:14:18 · 2735 阅读 · 6 评论 -
iOS开发-字符串base64编码与解码
iOS开发-字符串base64编码与解码在开发总经常遇到需要将字符串进行base64加密与解密。Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。这里使用的是GTMBase64在Podfile中引入。原创 2023-07-31 00:13:48 · 3199 阅读 · 0 评论