- 博客(43)
- 收藏
- 关注
原创 socket.io是什么协议?真的比http快吗
Socket.IO 是一个库,可以在客户端和服务器之间实现和通信。支持及时、双向与基于事件的交流。它可以在每个平台、每个浏览器和每个设备上工作,可靠性和速度同样稳定。
2024-07-23 19:43:03
1610
原创 了解package.json中npm run命令的执行原理,以及直接运行shell命令
在文件中的script字段,可以定义脚本命令,通过npm run指令运行该脚本。比如简单定义一个输出打印的shell脚本。执行npm run hw可以看到终端上打印出了。我们可以在很多工程项目中的那么npm是如何启动这些脚本的呢?
2024-07-23 09:01:09
1300
原创 swiftui使用ScrollView实现左右滑动和上下滑动的效果,仿小红书页面
实现的效果如果所示,顶部的关注用户列表可以左右滑动,中间的内容区域是可以上下滚动的效果,点击顶部的toolbar也可以切换关注/发现/附近不同页面,实现翻页效果。
2024-07-21 22:07:11
1273
原创 swiftui中使用scaleEffect和rotationEffect实现缩放和旋转效果
在SwiftUI中,你可以使用.scaleEffect()和.rotationEffect()来实现缩放和旋转动画,缩放和旋转的内容可以是图片,文字等view视图。scaleEffect可以实现缩放效果,配合动画可以实现好看的过度效果,其中的参数是缩放的倍数,1表示原本大小,大于1表示放大,小于1表示缩小。
2024-07-21 16:46:07
950
原创 swiftui中onChange函数的使用,监听变量的变化
在 SwiftUI 中,onChange修饰符用于在指定值发生变化时执行某些操作。它允许你监听一个状态或绑定值的变化,并在变化发生时运行一些代码。这个功能非常适合需要对状态变化做出响应的场景。定义一个文本输入框,并绑定一个变量textVal,再通过onChange来监听内容变化。onChange参数说明:of:要监听的变量,initial:是否在页面初始化的时候立即执行,oldVal:变化前的旧值,newVal:变化后的新值。
2024-07-21 16:02:54
1036
原创 Vue3中实现自然滚动表格列表,可调整滚动快慢
最开始实现我是想用vue3-seamless-scroll这个插件的,但是使用起来发现,首先它不支持数据少的情况下自动停止滚动,需要传入step为0,感觉不是很方便(也可能是我没有很会用这个插件),所以感觉直接写了一个。这是基于react的滚动列表改造过来的,所以本身留了render口子,可以自定义表内的内容,不只是文字,但是对于vue3跟jsx的结合,我还是不是很熟,所以目前还没有用到render写法。实现效果如图所示,可以调整滚动的快慢,可以实现内容高度不够的时候停止滚动的效果。
2024-07-19 21:38:42
1299
1
原创 飞书群聊机器人自定义机器人接入,并实现艾特@群成员功能
飞书群聊机器人还是比钉钉的要麻烦一点,钉钉的直接通过手机号就可以艾特群里面的人,但是飞书的要想艾特群里面的人,需要使用用户的或。这两个ID怎么获取呢?还需要在飞书的开放平台上创建一个应用,然后通过调用api接口查询出来!真的麻烦死了。
2024-07-19 18:03:47
5395
6
原创 swiftui中使用简单的Binding方式实现页面跳转,其实算是假跳转伪跳转
传统的NavigationStack和NavigationLink是不是感觉还挺复杂的,而且想做一个简单的页面跳转,在子视图里面还没有自定义的返回功能,还要找很多繁琐的方法来实现子页面返回到父页面,今天就用最简单的方式,实现一个超级简单的页面跳转,只需要有Binding的知识就可以了。
2024-07-18 17:03:31
667
原创 SwiftUI中App启动入口分析,以及视图和App生命周期介绍
如果在一个WindowGroup加入多个View,呈现状态有点类似VStack。在一个Scene中加入多个WindowGroup,只有最前面的可以被显示。以 macOS 为例 WindowGroup 可以实例化多个 Scene,这些不同的 Scene 可以单独的响应用户的事件,虽然每个 Scene 都来自同一份 UI 定义,但是不同时刻的用户行为也会导致不同的 Scene 含有不同的状态。
2024-07-17 21:03:33
1542
原创 SwiftUI中全局EnvironmentObject的使用和注意事项,实现多界面共享数据
SwiftUI的@EnvironmentObject是一个强大的工具,它允许你在多个视图之间共享数据(使用一个可观察对象)。当你有一个复杂的视图层次结构,并且需要在没有直接连接的视图之间共享相同的可观察对象时,它特别有用。
2024-07-17 21:02:30
1308
原创 xcode报错无法安装The identity used to sign the executable is no longer valid.无法安装此App,因为无法验证其完整性
无法安装此App,因为无法验证其完整性。
2024-07-17 21:00:43
4085
原创 xcode下swift .infinity报Invalid frame dimension (negative or non-finite)错误
xcode又报错了:Invalid frame dimension (negative or non-finite)报错原因:xcode升级后,调整frame的时候不建议使用width: .infinity或者height: .infinity。
2024-07-17 20:57:39
1125
原创 SwiftUI中@State @StateObject @ObservedObject @EnvironmentObject定义和使用场景区别
State:管理视图内部的简单状态。@StateObject:管理视图内部创建和持有的复杂状态对象。@ObservedObject:观察并响应由外部或其他视图管理的状态对象的变化。@EnvironmentObject:在视图层次结构中共享全局状态对象。理解这四种属性包装器的用途和区别,有助于在 SwiftUI 开发中有效地管理和共享状态。
2024-07-17 20:56:45
1451
原创 Swiftui中几种常用的数据存储方式@AppStorage/UserDefaults/CoreData/File Storage/Keychain等
在 SwiftUI 中,常用的数据存储方式包括:@AppStorage 和 UserDefaults:用于简单、轻量级的数据存储。@State、@StateObject、@ObservedObject 和 @EnvironmentObject:用于视图和状态管理。Core Data:用于复杂的数据持久化和查询。文件存储:用于存储大文件或复杂文件。Keychain:用于存储敏感数据。根据应用的需求选择合适的数据存储方案,有助于提升应用的性能和数据管理效率。
2024-07-12 14:40:19
1727
原创 swiftui中使用.offset时候注意事项,为什么按钮点击没反应
当你在一个按钮的子视图上使用.offset(x: 100, y: 100)的时候,有没有当你点击这个按钮的时候,没有任何效果?不会出发按钮的点击行为?切换到选中模式就可以看出来,按钮的位置还是在原来的白色位置,你点击这个白色位置,就会触发按钮的action行为。所以如果你想让内容和按钮一起偏移,就需要在Button上使用偏移:这样点击就有效果了。
2024-07-12 13:33:32
397
原创 apple watch程序出错 Cannot launch apps while in nightstand mode
(床头柜模式),该模式将屏幕从通常的表盘切换为占用整个屏幕的大数字时钟。将Apple Watch放在充电器上并直立放置时,它将自动进入。所以要将apple从充电器上拿下来再试一下。
2024-07-11 10:25:43
469
原创 开发apple watch程序让后台运行的可行性,并设置Background Modes
使用后台会话,应用程序继续在后台运行,但会话只能监视训练、跟踪用户的位置或播放音频文件。另一方面,扩展的运行时会话扩展了这种能力,并为应用程序提供了几种不同的会话类型供选择。在 Apple Watch 上运行的应用程序通常会过渡到后台,当用户放下手腕时就会暂停。但是,您的应用程序可以使用后台会话和扩展运行时会话,以便在用户停止与它交互后继续运行。根据应用程序的预期用途ーー而不是根据会话提供的特性ーー选择会话类型。延长的运行时会话让应用程序继续与蓝牙设备通信,处理数据,播放声音或触觉,甚至在手表屏幕关闭后。
2024-07-11 10:24:37
788
原创 xcode配置swift使用自定义主题颜色或者使用RGB或者HEX颜色
选中面板上的第二个选项,然后下拉框选择RGB Sliders选项,在底部就有Hex的颜色值了,可以通过修改使用Hex的色值。Any Appearance表示亮色模式下使用的颜色,Dark表示暗黑模式下使用的颜色。比如你刚设置的颜色名称是theam,使用的时候就是Color("theam")
2024-07-10 20:24:11
1868
原创 xcode开发iPhone拓展apple watch软件,运行的时候apple watch在设备列表不显示还有could not beinstalled at this time
这个问题差点让我演示项目出现大窟窿,还好及时发现,不然后果不堪设想.....还是我对xcode的操作不够熟练导致的。
2024-07-10 19:22:38
626
原创 swift开发用Alamofire的post发送proto序列化消息
假设你已经定义好了你的Protobuf消息并生成了相应的Swift代码。:将Protobuf消息序列化为二进制数据。:将序列化的二进制数据作为请求体发送。
2024-07-10 18:46:14
704
原创 swiftui返回上个页面编程式返回presentationMode使用
我们使用NavigationLink实现导航到第二个页面的时候,配置了.navigationBarHidden(true),不显示子页面的导航菜单,而是我们自己定义了一个返回按钮操作,点击这个按钮才返回上个页面。这就用到了环境变量presentationMode的使用。
2024-07-10 18:41:32
715
原创 SwiftUI中matchedGeometryEffect修饰符的使用,实现图片点击方法效果和动态tab文字底部的指示器切换效果
在 SwiftUI 中,动画是提升应用用户体验的重要手段之一。MatchedGeometryEffect 是 SwiftUI 提供的一个强大的工具,它可以在视图层次结构中不同位置的视图之间创建平滑的动画过渡。这种效果特别适用于列表和详情视图之间的动画,或者在视图布局改变时保持视觉上的连贯性。MatchedGeometryEffect 允许开发者标记两个视图,使得 SwiftUI 可以在这两个视图之间自动计算和应用动画,从而创建一个连续的用户体验。这是通过在两个视图上使用相同的 id 来实现的。
2024-07-10 14:49:28
1277
原创 swiftui给视图添加边框或者只给某个边设置border边框
直接使用border()就可以给一个视图添加边框效果,但是这种边框会给所有的边都设置上。border()里面也可以添加属性.border(.blue, width: 5)这种就是设置颜色和宽度。将Rectangle的宽度设置2,高度设置为0,就有了长条形的形状,然后再设置alignment为leading就可以实现左边边框,设置为trailing就可以实现右边边框。通过修改alignment的对齐方式,可以实现上下边框。可以通过修改width设置边框的粗细。
2024-07-09 16:49:04
1324
原创 xcode项目添加README.md文件并进行编辑
想要给xcode项目添加README.md文件其实还是比较简单的,但是对于不熟悉xcode这个工具的人来讲,还是有些陌生,下面简单给大家讲一下流程。就会在项目的根目录生成一个README.md文件,在里面就可以写文档了。
2024-07-09 14:27:24
839
原创 6元/年英国Giffgaff卡申请和使用
我们来到页面最底部,选择“Pay as you go”这一项,由于我们只是用它来注册账号、接收验证码等,而使用这张卡又必须要往卡里充值,所以我们选择这一种,向卡里充值10英镑即可,不考虑其他套餐。来到填写个人信息的页面,这里不需要真实身份,至于地址,你可以使用地址生成器随机生成一个,或者你也可以在地图上随机找一条街道作为填写进去的地址。(我使用的是真实地址,用的拼音)底部显示了你的用户名,到时你在登录个人中心时,需要用用户名+密码登录,所以别急着关掉这个页面,记一下用户名(使用手机号也可以登录)。
2024-07-09 10:14:19
6182
原创 swiftui中封装一个carditem视图,结合toolbar实现滚动的瀑布流,仿小红书首页
这个组件封装出来的效果如图所示:里面使用到的就是水平布局和垂直布局,还有一个Image组件。
2024-07-08 15:33:52
736
原创 swiftui中NavigationStack布局navigationBarTitleDisplayMode作用,以及内容顶部空白区域解决办法
因为默认是automatic,而且你没有设置navigationBarTitle,所以这个位置就是默认空着,占一个空白区域。那可能就有异味了:我也没有设置navigationBarTitle这个内容啊,为啥就对我的内容布局有影响呢?那这个navigationBarTitleDisplayMode是干什么用的呢?用于设置视图的导航栏标题的显示模式。它的值是一个枚举类型。
2024-07-08 15:33:02
894
原创 swiftui中设置建议最多5个tabItem项,多个tabItem项会被自动折叠起来
在swiftui中设置底部的菜单栏的时候,最多建议设置5个,如果超过了,会被自动折叠到More中,点击More就会出现类似list的样式显示,不是很友好。
2024-07-05 11:17:29
332
原创 豆包Marscode体验官,体验云编程和AI助手加持的快乐
其实早在前不久,我就想着如果有一个在线的代码编辑器该多好啊,毕竟我的电脑内存并不大,芯片并不好,而且还有好多小电影要存储......嗯,这不,它就来了,真的太震撼了,真的是云编辑器,而且还自带Ai助手!这真的让人很难不爱啊豆包 MarsCode IDE 是一个云端 AI IDE 平台。通过内置的 AI 编程助手,开箱即用的开发环境,你可以更专注于各类项目开发。
2024-07-04 18:40:34
728
原创 swiftui中TabView使用,以及Tab使用注意
使用交互式用户界面元素在多个子视图之间切换的视图。也就是手机底部的几个导航菜单一样,但是注意官方给的例子里面有使用Tab组件的,但是这个Tab组件注意:暂时只支持beta版本的系统,低版本是没有的:TabView提供了一个交互式界面,允许用户在其内部的子界面间自由的切换,TabView有两种显示模式,一个是DefaultTabViewStyle,另一个是PageTabViewStyle,本文将对DefaultTabViewStyle这种类型的基本使用和外观样式设置进行一下探索学习。
2024-07-04 18:05:53
2789
原创 NavigationView已经过时了,该用 NavigationStack 和 NavigationSplitView了
在iOS 16及以后,NavigationView将会被弃用,取而代之则是NavigationStack。
2024-07-04 16:37:37
1261
原创 ScrollView组件No exact matches in call to initializer
在scrollview中使用text后报错,水平滚动使用的话,应该里面包含一个水平布局的组件,例如HStack组件,可以设置ScrollView滚动方向为 .horizontal或者 .vertical。
2024-07-04 14:22:29
222
原创 SwiftUI中List的liststyle样式及使用详解添加、移动、删除、自定义滑动
SwiftUI的swipeActions()修饰符允许你添加一个或多个滑动动作按钮到你的列表行,可选地控制他们属于哪一边,以及他们是否应该被触发使用一个完整的滑动。先看下代码及效果图:swipeActions()方法有三个参数,第一个edge决定操作按钮放哪边;第二个allowsFullSwipe决定完全滑动是否自动执行第一个操作,默认值为true;第三个即是内容闭包了。关于样式,只能通过tint设置背景色,如果不设置,系统默认是灰色的。
2024-07-04 11:40:31
1913
原创 swiftui中常用组件picker的使用,以及它的可选样式
一个可选项列表就是一个picker组件搞出来的,它有多个样式可以选择,并且可以传递进去一些可选数据,有点像前端页面里面的seleted组件,但是picker组件的样式可以更多。
2024-07-03 18:26:44
685
原创 mac上使用finder时候,显示隐藏的文件或者文件夹
默认在finder中是不显示隐藏的文件和文件夹的,但是想创建.gitignore文件,并向里面写入内容,即便是打开xcode也是不显示这几个隐藏文件的,那有什么办法呢?
2024-07-02 19:40:55
1173
原创 vue3长列表优化,使用vue-virtual-scroller实现直播间弹幕列表虚拟滚动效果
但是需要注意:获取DynamicScroller这个组件的时候,要使用document.getElementById('liveMsg')这种形式,不能使用ref这种,因为ref获取到的并不是一个html元素,没有scrollTop方法,所以无法滚动到底部。这三个组件区别是滚动每一项高度是固定的还是动态的,Recycle就是固定的高度,Dynamic是动态的,动态的话,必须要包含DynamicScrollerItem。
2024-07-02 15:21:39
4425
2
原创 直播的js代码debug解析找到protobuf消息的定义
我们都知道直播的弹幕消息是通过websocket发送的,而且是通过protobuf传输的,那么这里面传输了哪些内容,这个proto文件又要怎么定义?每个消息叫什么,消息里面又包含有哪些字段,每个字段又是什么类型?都可以通过js查看得到。
2024-07-01 11:07:24
684
phpstudy-x64-V8版本安装包
2023-06-07
可以在浏览器里免费使用chatgpt的插件
2023-05-10
使用Python模块ppadb控制手机拍照
2023-05-08
使用Python的uiautomator2控制手机操作叮咚买菜
2023-05-08
使用Python画一个爱心图片来讨你的女朋友一笑
2023-05-08
Python识别ocr验证码的程序,识别率非常高
2023-05-08
使用Python脚本将 CSV 加载到 SQLite 数据库的脚本(带有类型推测)
2023-05-08
Python写的Grpc小案例Server端
2023-05-05
Python脚本的链式编程思想Demo
2023-04-28
Python脚本Clickhouse连接示例
2023-04-28
安卓Android版zerotier最新安装包
2023-04-28
Python企微定时打卡
2023-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人