自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gollySun

纷纷万事直道而行

  • 博客(20)
  • 收藏
  • 关注

原创 iOS关于tableView Style类型的问题

起初我以为是自己使用```XIB```实现Cell的原因。```grouped类型在滚动过程中非常的流畅只出现了轻微的一下卡顿```。```tableView``` 在日常的开发中是最常见的一个控件了。且很多情况下会使用```grouped```组的类型来实现相关功能。所以就开始怀疑是```tableview本身的问题```。然后排查了一下只有```style```这个地方存在些许不同,其他的地方都没有什么问题。所以怀着试试看的态度给替换了一下```style```类型。**然而...然而...然而**。

2023-09-02 14:41:43 119

原创 自定义类的内存占用

关于这个问题我有查询过源码的东西,但因为自己的技术水平有限在解析源码的时候走到一定的程度发现无法在往下去查看了。但是我在网上查询了一下相关的资料。发现计算机中也存在着内存对齐的问题,也就是说返回的内存块的大小只能是。所以这里返回的成员变量的内存大小是做了内存补齐后的大小,因此是。是补齐的意思,也就是说他做内存补齐。呢这里为什么返回的是。所以两个方法返回的内存大小都是。,然后内存对齐一下返回的应该是。方法返回的最小的内存大小也是。个字节的内存,加起来一共是。个字节的内存空间,还剩下。,按理来说应该返回的是。

2023-09-02 14:37:42 116

原创 NSObject内存占用

在查询源码的时候发现好多的代码分新版和旧版,有可能在新版中查询不到想要的信息,此时需要去查询旧版的信息才可能查询到一些想要的信息。也有可能是反过来查询。这个需要根据实际情况进行查询选择。#####2.OC转化成C/C++的实质。的代码可以很清楚的明白为何返回内存结果为。#####1.测试用到的代码。方法中看到这么一行代码。个字节,所以返回结果是。#####特别说明一下。

2023-09-02 14:37:01 130

原创 tableView嵌套tableView的功能实现

如果没有多个标题的需求的话是不需要这个ScrollView的。以前公司做过一个tableView嵌套tableView滚动的功能实现。今天特意重新的整理了一下这个功能的实现。一旦你这么做了的话,后果就是当你发现要切换两个视图的ScrollEnable属性的时候会出现明显的卡顿情况。这个时候运行程序的时候会发现上面的tableView和下面的tableView的滚动存在冲突。正确的做法应该是设置tableView的contentOffset的值。我相信很多第一次接触这个功能的时候,很多人想到的方法是利用。

2023-09-02 14:36:24 438

原创 iOS tableView树状展开和收起

将dataArray数组中当前。

2023-09-02 14:35:44 272

原创 Swift ObjectMapper 通用类配置

【代码】Swift ObjectMapper 通用类配置。

2023-09-01 11:24:45 227 1

原创 iOS 微信分享1.8.6集成 总结

首先,确认微信(7.0.7或以上版本)的Universal Links在设备上正常,以确保openSDK与微信双向使用Universal Links通信。下拉查看是否有打开微信入口(如下图)。若无入口,可能是由于系统拉取微信Universal Links失败,请检查手机网络状态是否正常,或更新/重装微信。#####1.确认微信得Universal Links正常。#####2.配置App的Universal Links。请参照微信开放平台文档完成分享功能集成。#####6.集成微信分享功能。

2023-09-01 11:24:12 198 1

原创 EquaTable的使用

这个方法是我们必须要去实现的一个协议,还有一个协议我们也有可能会用到,就是下面这个协议。就是我们做判断的时候左边和右边的参数。的具体使用我就不参照官方呢么正式的说法去说了,我会按照我的理解去说一下。**如果当前这个类中引入了另一个自定义的类的时候要怎么进行判断呢。然后简单的来说一下这个方法是干嘛的吧。就是返回判断的结果的。此时我们使用上面的这个类创建实例对象的话是没法直接使用。其他的一些方法可以自己去查看文档找寻一下。等等都默认的具有上面代码中的这些。的一些日常开发中的使用。中的属性判断的结果的。

2023-09-01 11:23:41 156 1

原创 Swift绘制雷达图(蛛网图、五方图)

由于项目需求中用到了带有渐变色的能力雷达图,而我们常用的一些三方控件并不能满足我的项目需求。特此记录一下自己的实现此功能的过程。关于大五边形文字信息的设置这里就不上代码了。渐变色相关,通过对上述三个类的组合来实现此功能。如有需要大家可以自行修改一下颜色就可以了。###绘制数据的填充层和线条一定是要先绘制填充层。###绘制最里面的小五边形对应的五条虚线的边。最终的实现效果会有一点出入,主要是。###绘制前需要知道的一些东西。###绘制最里面的小五边形。###大的五边形的文字信息。内容层渐变的实现方法。

2023-09-01 11:23:10 321 1

原创 Swift5.0 TableViewCell添加Button按钮点击无反应的问题

对应的值是多少也就没法测试。如果有哪位大佬研究过这个问题还请不吝赐教,在此先行谢过了。,于是我使用了如下的代码进行了测试发现按钮的点击事件依然好用。在此处看来貌似没有什么问题。然后我又做了如下的操作。发现此问题后又做了下面的这个操作。具体是如何添加的,所以不知道。公司项目中有一个列表使用。按钮点击事件还是不响应。

2023-09-01 11:22:35 529 1

原创 iOS tableView左滑删除按钮的自定义

对于自定义样式此处不具体的放代码了,大家可以根据自己的实际需要去写代码。左滑删除的功能,删除按钮带有文字和图片效果如下图。#####2.左滑的时候获取到对应的删除按钮。设置成你想要的颜色反之设置成透明色。#####3.自定义删除按钮的样式。如果你需要自己定义颜色则。#####1.添加自定义按钮。公司的项目中用到了一个。###比较重要的几个点。的方法中已经获取到了。第一条提供的一些参数。

2023-09-01 11:22:00 1442 1

原创 Swift检测输入框中是否有表情

【代码】Swift检测输入框中是否有表情。

2023-09-01 11:21:23 138 1

原创 Swift 极光IM聊天-发送消息

最近公司的项目使用到了极光聊天的功能,但是正如目前市面上所看到的所有的与聊天相关的第三方,极光只是提供了最基本的单聊和群聊的功能,诸如视频会议等等这些功能目前在极光IM中还未提供。基于这一点的考量和公司项目的后期规划需求我将极光的聊天功能拆分了出来便于后期的维护和替换其他第三方聊天功能。发送消息主要是以下几部流程(此处是针对极光IM的流程来说明的,其他的sdk基本都是大同小异只需要简单的调整即可。其实在使用的时候自己直接点进方法也是可以的。具体在什么时机下调用上面的方法需要根据自己的需求去设定,如。

2023-09-01 11:20:49 121 1

原创 Swift 极光IM聊天-解析消息

Android端是没有发送视频的功能的,如果要发送视频只能通过发送文件的方式发送出来,而正常的小视频解析都是会带有缩略图的。关于说到的这两个功能点一个是因为自己项目中没有用到在一个呢是上面的两个功能点完全可以通过自定义消息的方式去实现,所以此处就不在多说了,有兴趣的朋友可以自行学习研究。同时此处也提供了视频第一帧的图片的本地地址,这个和解析图片的本地地址的性质是完全一样的。是在点击播放视频的时候才去获取的,所以在自定义model的时候此处一定要将获取到的。视频时长的方法和获取第一帧的思路是一样的。

2023-09-01 10:59:44 120 1

原创 Swift 极光IM聊天-音视频聊天

正常的创建好视频通话后不管被邀请人是否接收邀请正常都应该显示自己的视频信息的。这个参数是在你创建语音或者是视频消息的时候会返回给你的,在上面的方法中也有关于这个参数的设置,最好将此参数保存成全局变量。有用户加入时就会走此方法,此时只需要将用户的视频流显示出来即可,具体实现请参看上面说到的显示自己的视频流的设置即可。上面的方法我只是做的UI的一些显示或者是隐藏,并没有建立起通话来,需要调用如下的方法才可以建立通话。上面的类就是用来显示视频信息的,说白了就是使用一个ImageView不停的在刷新信息。

2023-09-01 10:59:03 120 1

原创 Agroa(声网)关于音视频通话的实现

鉴于公司项目接入的极光IM的音视频聊天无法实现视频会议及踢人的相关功能。而环信提供了音视频会议的功能且环信的音视频功能就是基于Agroa的功能进行了二次封装。关于通过声网实现视频转语音的功能实现。声网本身是通过一个个的频道来实现音视频聊天的,而语音本身就是视频聊天的一部分唯一的区别就在于是否要显示出相应的视频流。所以视频转语音这个功能就是相应的关闭视频流来实现即可。你需要将 YourAppID 替换为你的 Agora 项目的 App ID。的音视频聊天主要用到了三部分的技术支持。可以不去填写此处的东西。

2023-09-01 10:58:21 512 1

原创 iOS开发 iPad键盘撤销操作的注意点

当出现数组越界这个问题的时候其实我们很容易就能想到原因是什么的。就是虽然我们限制了输入的长度,但实际上在存储撤销信息的数组中仍然还在继续的输入东西。键盘的撤销按键是iPad独有的一个按键,在手机端是不存在这个按键的,但是手机端同样也存在撤销操作,只不过并不是通过键盘上的按键来进行撤销操作的。然后在控件中输入到最长长度,这时候继续去输入东西,但是从界面上来看我们输入的东西是没有显示出来的。当我们在输入键盘自带的表情的时候一定是要去注意一下的。所以这个问题也就很容易忽略掉了。此时就会出现数组越界的崩溃问题。

2023-09-01 10:57:34 250 1

原创 Xcode14 创建适配iOS13的SwiftUI项目

到此,适配代码已经完成。运行一下,会发现启动后是黑屏。

2023-09-01 10:56:55 447 1

原创 iOS关于tableView Style类型的问题

实现Cell的原因。查看了一下代码发现并没有使用XIB。然后又查看代码中有部分是进行了位置计算。怀疑是因为计算坐标位置不停变换坐标导致了轻微的卡顿。又将Cell中所有的控件全部注释掉,发现还是出现了轻微的卡顿。发现出现的这种卡顿貌似和常见的数据过多的卡顿并不是一种现象。在日常的开发中是最常见的一个控件了。当数据足够多的情况下从底部向上滑动时,在滑动即将结束时会出现轻微的卡顿。这个地方存在些许不同,其他的地方都没有什么问题。组的类型来实现相关功能。且通常情况下数据都不会太多,一切看起来都是呢么的完美。

2023-09-01 10:55:52 166 1

转载 iOS WebView设置Cookie

NSDictionary*properties = [[NSMutableDictionary alloc] init];[propertiessetValue:@"cokerttyttt" forKey:NSHTTPCookieValue];//value值[propertiessetValue:@"token" forKey:NSHTTPCookieName];//kay[proper...

2018-09-06 17:52:49 3242

空空如也

空空如也

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

TA关注的人

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