自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(595)
  • 收藏
  • 关注

原创 iOS 视觉橱窗效果

【代码】【无标题】

2024-04-18 11:29:57 139

原创 鸿蒙开发中使用lazyforeach 有图片闪烁的问题

经过测试,是lazyforeach中的第二个闭包中返回的字符串相等。

2024-04-15 08:23:41 99

原创 鸿蒙中实现引用本地js ,css 拼接html文本,并加载

/ 点击按钮时,通过loadData,加载HTML格式的文本数据。

2024-04-11 21:22:42 113

原创 记录鸿蒙开发中网页滚动和底部原生联动的问题

上面的的机制就是在符合条件的情况下,我是网页的滚动手势会被分发到我是原生的组件上,从而达到拖动网页的时候,滚动list。将嘴外层的list的事件进行分发,(网页和底部原生列表都是在list的listitem里面)场景:有这样一个页面,页面的上部分是一个大的网页,底部是一个原生的列表,所以这个时候网页和原生的滚动就出现了问题,所以我们就用到了鸿蒙的事件分发。由于鸿蒙系统的机制,网页的最大高度只能是屏幕高度,不能超出一屏幕高。其中的windowY 都是想等的,都是触摸点像对于屏幕原点的位置。

2024-04-11 21:20:00 122

原创 记录一个在鸿蒙网页中添加原生组件,并跟随滚动的效果实现

第三中情况下,我们设置原生组件在stack中的position为(组件在网页中的位置y - 网页的偏移量)有了这个思路之后,我们就可以写代码了。思路,我们将网页放在一个stack组件上面,然后将 需要嵌入到网页的原生组件也放到网页上。鸿蒙网页中,我们需要在某个位置添加一个原生的组件,比如视频或者音频。第二中情况下,我们将原生组件放到网页顶部(完全滑出网页的位置)第一中情况下,我们将原生组件放到网页组件的底部(超出网页)第一: 当原生组件位置超出网页最底部,第三:就是原生组件在网页中跟随网页滚动。

2024-04-11 21:07:40 208

原创 记录一个鸿蒙开发中获取webView内容高度不正确的问题

/ 点击按钮时,通过loadData,加载HTML格式的文本数据。// 组件创建时,加载www.example.com。这里是web组件初始化的代码。//记录上次网页的偏移量。

2024-04-10 08:21:51 420

原创 鸿蒙中闭包的赋值

【代码】鸿蒙中闭包的赋值。

2024-04-03 22:04:33 90

原创 鸿蒙开发中的闭包嵌套闭包使用

【代码】鸿蒙开发中的闭包嵌套闭包使用。

2024-04-03 07:57:22 118

原创 关于远程调试应用中的网页鸿蒙

hdc fport tcp:9222 localabstract:webview_devtools_remote_进程ID。然后使用chrome,输入地址查看可调试页面。在ide中找到应用进程ID(日志可以看见)关于远程调试应用中的网页。

2024-03-27 17:17:53 415

原创 记录一个鸿蒙原生想js发送方法不执行的问题

修复方法,需要添加一个空字符串,否则会导致方法不执行。修复代码, 注意,是 "`"符号。原生调用js 方法的错误写法。

2024-03-25 16:58:21 204

原创 记录一个iOS性能优化点

我们可以这样处理,在网络请求结束之后,在自线程中将富文本创建好,保存到model的一个属性中,然后我们展示cell的时候,直接展示就行了,不需要再创建。的时候也是在主线程,这时候就有一个问题,如果cell的数量特别大,并且富文本很复杂,页面滚动的时候,就会有很明显的卡顿,因为在主线程进行了耗能的操作,我们一个列表卡片中要展示多个复杂富文本,开始的写法,是这样的,在给cell的model赋值的时候,去创建富文本,并进行展示,

2024-03-20 21:31:04 224

原创 鸿蒙开发中闭包的使用

闭包的使用要分成三个部分,闭包的声明,闭包的实现,闭包的调用。

2024-03-18 20:58:54 407

原创 记录一个鸿蒙不能选中手机的问题

1 数据线只能充电,不能测试,换了一根好的。

2024-03-18 11:40:40 307

原创 iOS 实现悬浮跟手滚动效果

透视图就跟着tablView滚动,(通过记录上次偏移量和当前偏移量来实现, tableView滚动多少,头视图就滚动多少),然后限制一下透视的的两个边界位置即可,通过MIN和MAX实现,同时,为了实现性能的优化,在超出临界值之后,就不再设置frame。思路: 透视图不是放在tableView上面,而是放在控制器的view面,当tablView滚动的时候。

2024-03-10 22:00:47 501

原创 记录使用kiwi进行单元测试文件左边不展示运行按钮的问题

进行单元测是的时候,遇到一下一个问题,就是测试文件左上方没有运行按钮,后来经过调试,发现有两个原因可以导致这个问题。2 podfile 中 test的target中,没有添加pod ‘kiwi’, 只在住工程中添加了。1 创建spec文件的时候,没有在test 文件夹和target下。

2024-02-20 08:40:30 377

原创 iOS 使用Image I/O 实现超大图片降采样

一个图片解码成未压缩的位图的时候,占用的内存和图片的文件大小没有关系,和图片的尺寸大小有关系,尺寸越大,所需要的像素点越多,所以超大图片,我们需要进行优化处理。给UIImage 添加一个分类,在分类中添加一个方法 ,该size就是。UIImageView的大小。这里直接上降采样代码。

2024-02-19 22:48:44 1151

原创 iOS datatask的taskIdentifier 是怎么确定的

一个session 可以对应多个task ,并且task的identifier是从1 开始的,每创建一个新的task,task的identifier就增加一。

2024-01-31 14:49:36 416

原创 修复TabbarButton 中标题展示不完全的问题

遇到一个问题,就是从列表页跳转到详情页之后,再返回的时候,tabbarbutton 中的文字变成…label的类型是 UITabBarButtonLabel,通过双层遍历获取到。这里用到了两个点,一个是button的类型是 UITabBarButton。这里就添加了一个容错,在 viewDidLayoutSubviews。标题的宽度不够了,本来是23的,返回之后变成20了。打开图层,如图所示,

2024-01-30 10:23:55 436

原创 iOS 使用runtime调用父类的类方法

【代码】iOS 使用runtime调用父类的类方法。

2024-01-11 11:03:32 388

原创 记录一个常量定义导致的重复问题duplicate symbol ‘_kk‘ in:

原因: 在.h文件中定义了一个常量。

2024-01-04 14:57:57 394

原创 封装了一个顺滑嵌套滚动的框架

就是开始滚动的时候,上面的头部和下面的内容是一起滚动的,但是当滚动到segment 的时候,segment是悬停 的,下面的tableView是分区的。

2023-12-03 14:58:47 808 3

原创 ZFPlayer 在tableView列表中播放视频架构设计

需要在如图所示的列表中播放视频,并且播放视频在对应的卡片上,滚动结束的时候, 完整露出封面图的第一个视频自动播放。

2023-12-01 21:09:01 533

原创 ZFPlayer 播放视频的时候的视图层级

首先看正常展示的时候,还没又开始播放这个时候我们打开图层看一下,发现视频时长和播放按钮都是放在视频封面图上的。

2023-11-29 21:31:14 497

原创 使用 ZFPlayer 播放视频的注意点

通过调用系统的AVPlayer.muted来实现的。

2023-11-28 21:11:49 546

原创 convertRect:toView 方法注意事项

newRect.origin = a在c 中的位置 + b.frame.origin。其中newRect和 b.frame的size不变,只改变origin。我们开发中有时候会用到左边转换,convertRect:toView。即是在a视图中 的 b.frame的位置相对于c的坐标。通常情况下,我们回这样使用。这是在网上找到的一张图。

2023-11-24 20:49:40 428

原创 PHPhotoLibrary 获取相册权限注意事项

requestAuthorization 中的回调使用完就释放了,不会造成内存泄漏,反而是如果使用了weak回造成提前释放所以,在该block中,不需要使用weak 引用。

2023-11-19 14:26:01 263

原创 一个iOS tableView 滚动标题联动效果的实现

tableview 是从屏幕顶部开始的,现在有导航栏,和栏目标题视图将tableView的顶部覆盖了。

2023-11-17 23:33:40 211

原创 iOS UITableView获取到的contentSize不正确

通知设置 _tableView.sectionHeaderTopPadding 就可以了。

2023-11-16 22:24:20 750

原创 iOS实现弹簧放大动画

【代码】iOS实现弹簧放大动画。

2023-10-30 18:42:05 598

原创 记录一个iOS UITableView 正在刷新的时候修改数据源导致的崩溃

这时候有一个推测,就是我们执行了刷新,这时候刷新还是使用的老数据,但是刷新是一个异步过程,这时候,如果请求结果返回很快,我们执行了清除数据源,但是刷新还没有完成,正在进行的刷新就无法获取到数据,导致崩溃。由于是崩溃在系统方法里面的,我们无法直接看到是因为调用哪个方法导致的崩溃。这是请求成功之后的调用,清除了数据源(重新请求到的数据为空)从上图可以看出,我执行重新请求之前,刷新了tableView。这时候又有疑问了,因为我这里的崩溃是重新请求之后。解决方法,我们修改数据源,要等到刷新完成之后,

2023-09-27 19:00:26 1130

原创 为什么atomic不是线程安全的

有以上例子可见,atomic只是在三个步骤中的两个步骤分别加了锁,但是并不能保证 读和写的锁同时是被一个线程获取之后,然后被其他线程获取 ,可能是线程一获取到锁之后,被线程2获取到锁,这时候就已经不安全了。所以我们要保证三个步骤都在锁的范围内。

2023-09-25 08:40:17 226

原创 封装了一个居左的iOS轮播视图

【代码】封装了一个居左的iOS轮播视图。

2023-09-24 13:10:20 106

原创 封装了一个中间放大效果的iOS轮播视图

设定在中间展示的size,即正常size,然后设置水平和竖直方向上的margin, 在view的origin和scrollView的contentoffset相等的时候,即视图处在正中间的时候,最大,然后通过计算其他视图的origin和scrollView.contentoffset 的距离设置大小,和contentoffset这个位置的frame的距离为一个视图宽度的时候,达到最小size,即最大size减去margin。

2023-09-23 19:55:55 241

原创 记录一个iOS使用陀螺仪3d效果的抖动问题

使用陀螺仪的时候,遇到一个问题,就是在拖动scrollView滚动的时候,3d效果的图片会抖动。我们打印位置的变化,发现打印太频繁,就修改了时间1/40 为 1 ,由 以上代码可以知道,我们的图片抖动就是图片的位置突变造成的,如果陀螺仪的回调很频繁,那么我们移动了很小的距离,陀螺仪就会。发现我们我们如果不拖动,执行的位置改变没有突变的。我们移动了很大距离之后,才更新位置,导致发生了突变现象,而更新位置就是在陀螺仪的回调方法中实现的,就是说,我们。移动了很大的位置,陀螺仪才进行了回调,这才导致抖动。

2023-09-14 23:45:29 728

原创 iOS 使用陀螺仪实现裸眼3d效果

【代码】iOS 使用陀螺仪实现裸眼3d效果。

2023-09-14 23:10:58 526 1

原创 记录一个iOS沙盒使用的问题

在开发中,我们经常要使用到沙盒,有时候要将资源的路径保存到本地这时候有一个主意事项,就是我们不能记录完整的沙盒路径,只能记录NSSearchPathForDirectoriesInDomains 之后的路径,因为,每次启动app所创建的NSSearchPathForDirectoriesInDomains 路径都是不一样的,如果我们记录了完整的路径,那么下次启动的时候,就会创建一个新的路径,导致我们使用原来的路径无法获取之前的资源。

2023-09-07 21:16:22 226

原创 AFNetworking 实现下载请求的原理过程

由以上代码可以看出,在该代理方法中,先获取AFURLSessionManagerTaskDelegate对象,然后让AFURLSessionManagerTaskDelegate 对象执行和代理方法名相同的方法。可以看出,创建的AFURLSessionManagerTaskDelegate对象被放在了 self.mutableTaskDelegatesKeyedByTaskIdentifier这个字典中,并且以。网络请求相关的代理方法都是由 AFURLSessionManager 实现的,如图。

2023-09-04 21:56:50 259

原创 iOS 展示网络GIF 图片

使用 FLAnimatedImage 展示沙盒中的gif 资源。请求(下载成功之后执行)成功回调。

2023-09-04 21:14:04 675

原创 iOS 使用coreData存贮页面的模型数据中的字典

注意点,我们CoreData中的字段是不能直接存贮我们自定义对象类型的,所以,如果我们要存贮的字段如果是一个自定义对象类型,则要将该字段成字段类型,然后转换成Data存贮。我们使用coreData时候,会遇到较为复杂的数据类型的存贮,例如,我们要存一个模型,但是一个模型里面有个字典,这时候,我们该如何存贮呢。我们实现一个公共的方法,将对象的所有属性都赋值给对应的coreData模型。读取数据的时候,将coredata的所有字段赋值给我们使用的模型对象。如图所示,一个对象中含有一个字典。

2023-08-31 22:04:37 597

原创 iOS 设置下载部分文件,如何获取完整文件的大小

Content-Length来获取,因为这个时候Content-Length 是我们设置的请求部分的大小,不是完整的大小。通过获取响应头的 Content-Range 字段来获取,注意,不能通过。在视频的需求中,遇到这样一个需求,播放一视频的时候,要预下载。后面10条视频,但是只下载后面十条视频的前面1M。1 创建请求时设置cacheLength。二 创建请求时,设置 请求头的Range。三 如何获取完整文件的大小。

2023-08-31 08:19:22 1318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除