苹果开发
文章平均质量分 64
苹果系统的软件开发
1024小神
不会就去学,学习是永远不会亏的(wx:lanxingme)
展开
-
使用swiftui实现打开摄像头扫描二维码功能,如果二维码是网址,就加载网站,如果不是网址,就显示扫到的内容
首先,需要创建一个自定义的来使用扫描二维码。使用UIApplication.shared.canOpenURL(url)来判断是否可以打开扫描到的内容,可以的话就使用WKWebView加载扫描到的网址,不可以的话,就显示出来扫描的什么内容。原创 2024-08-15 15:33:39 · 626 阅读 · 0 评论 -
xcode配置使用摄像头和相册权限,没有Info.plist文件也可以配置,解决Thread 4: signal SIGABRT报错问题
最新的Xcode更改了相册和相机的权限关键字,在进行真机调试,或真正在用户使用的时候需要添加这些权限,否则在程序正确时仍然会产生下面的错误:SIGABRT错误通常是由于应用程序在运行时遇到无法恢复的错误而崩溃。:可能是由于摄像头权限未被授予,或者设备不支持摄像头输入。原创 2024-08-15 11:54:48 · 670 阅读 · 0 评论 -
使用swiftui自定义圆形进度条实现loading
【代码】使用swiftui自定义圆形进度条实现loading。原创 2024-08-02 19:31:23 · 449 阅读 · 0 评论 -
swiftui使用ScrollView实现左右滑动和上下滑动的效果,仿小红书页面
实现的效果如果所示,顶部的关注用户列表可以左右滑动,中间的内容区域是可以上下滚动的效果,点击顶部的toolbar也可以切换关注/发现/附近不同页面,实现翻页效果。原创 2024-07-21 22:07:11 · 715 阅读 · 0 评论 -
swiftui中使用scaleEffect和rotationEffect实现缩放和旋转效果
在SwiftUI中,你可以使用.scaleEffect()和.rotationEffect()来实现缩放和旋转动画,缩放和旋转的内容可以是图片,文字等view视图。scaleEffect可以实现缩放效果,配合动画可以实现好看的过度效果,其中的参数是缩放的倍数,1表示原本大小,大于1表示放大,小于1表示缩小。原创 2024-07-21 16:46:07 · 664 阅读 · 0 评论 -
swiftui中onChange函数的使用,监听变量的变化
在 SwiftUI 中,onChange修饰符用于在指定值发生变化时执行某些操作。它允许你监听一个状态或绑定值的变化,并在变化发生时运行一些代码。这个功能非常适合需要对状态变化做出响应的场景。定义一个文本输入框,并绑定一个变量textVal,再通过onChange来监听内容变化。onChange参数说明:of:要监听的变量,initial:是否在页面初始化的时候立即执行,oldVal:变化前的旧值,newVal:变化后的新值。原创 2024-07-21 16:02:54 · 668 阅读 · 0 评论 -
swiftui中使用简单的Binding方式实现页面跳转,其实算是假跳转伪跳转
传统的NavigationStack和NavigationLink是不是感觉还挺复杂的,而且想做一个简单的页面跳转,在子视图里面还没有自定义的返回功能,还要找很多繁琐的方法来实现子页面返回到父页面,今天就用最简单的方式,实现一个超级简单的页面跳转,只需要有Binding的知识就可以了。原创 2024-07-18 17:03:31 · 466 阅读 · 0 评论 -
SwiftUI中App启动入口分析,以及视图和App生命周期介绍
如果在一个WindowGroup加入多个View,呈现状态有点类似VStack。在一个Scene中加入多个WindowGroup,只有最前面的可以被显示。以 macOS 为例 WindowGroup 可以实例化多个 Scene,这些不同的 Scene 可以单独的响应用户的事件,虽然每个 Scene 都来自同一份 UI 定义,但是不同时刻的用户行为也会导致不同的 Scene 含有不同的状态。原创 2024-07-17 21:03:33 · 1254 阅读 · 0 评论 -
SwiftUI中全局EnvironmentObject的使用和注意事项,实现多界面共享数据
SwiftUI的@EnvironmentObject是一个强大的工具,它允许你在多个视图之间共享数据(使用一个可观察对象)。当你有一个复杂的视图层次结构,并且需要在没有直接连接的视图之间共享相同的可观察对象时,它特别有用。原创 2024-07-17 21:02:30 · 974 阅读 · 0 评论 -
xcode报错无法安装The identity used to sign the executable is no longer valid.无法安装此App,因为无法验证其完整性
无法安装此App,因为无法验证其完整性。原创 2024-07-17 21:00:43 · 1350 阅读 · 0 评论 -
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 · 972 阅读 · 0 评论 -
SwiftUI中@State @StateObject @ObservedObject @EnvironmentObject定义和使用场景区别
State:管理视图内部的简单状态。@StateObject:管理视图内部创建和持有的复杂状态对象。@ObservedObject:观察并响应由外部或其他视图管理的状态对象的变化。@EnvironmentObject:在视图层次结构中共享全局状态对象。理解这四种属性包装器的用途和区别,有助于在 SwiftUI 开发中有效地管理和共享状态。原创 2024-07-17 20:56:45 · 1185 阅读 · 0 评论 -
Swiftui中几种常用的数据存储方式@AppStorage/UserDefaults/CoreData/File Storage/Keychain等
在 SwiftUI 中,常用的数据存储方式包括:@AppStorage 和 UserDefaults:用于简单、轻量级的数据存储。@State、@StateObject、@ObservedObject 和 @EnvironmentObject:用于视图和状态管理。Core Data:用于复杂的数据持久化和查询。文件存储:用于存储大文件或复杂文件。Keychain:用于存储敏感数据。根据应用的需求选择合适的数据存储方案,有助于提升应用的性能和数据管理效率。原创 2024-07-12 14:40:19 · 956 阅读 · 0 评论 -
swiftui中使用.offset时候注意事项,为什么按钮点击没反应
当你在一个按钮的子视图上使用.offset(x: 100, y: 100)的时候,有没有当你点击这个按钮的时候,没有任何效果?不会出发按钮的点击行为?切换到选中模式就可以看出来,按钮的位置还是在原来的白色位置,你点击这个白色位置,就会触发按钮的action行为。所以如果你想让内容和按钮一起偏移,就需要在Button上使用偏移:这样点击就有效果了。原创 2024-07-12 13:33:32 · 291 阅读 · 0 评论 -
apple watch程序出错 Cannot launch apps while in nightstand mode
(床头柜模式),该模式将屏幕从通常的表盘切换为占用整个屏幕的大数字时钟。将Apple Watch放在充电器上并直立放置时,它将自动进入。所以要将apple从充电器上拿下来再试一下。原创 2024-07-11 10:25:43 · 390 阅读 · 0 评论 -
开发apple watch程序让后台运行的可行性,并设置Background Modes
使用后台会话,应用程序继续在后台运行,但会话只能监视训练、跟踪用户的位置或播放音频文件。另一方面,扩展的运行时会话扩展了这种能力,并为应用程序提供了几种不同的会话类型供选择。在 Apple Watch 上运行的应用程序通常会过渡到后台,当用户放下手腕时就会暂停。但是,您的应用程序可以使用后台会话和扩展运行时会话,以便在用户停止与它交互后继续运行。根据应用程序的预期用途ーー而不是根据会话提供的特性ーー选择会话类型。延长的运行时会话让应用程序继续与蓝牙设备通信,处理数据,播放声音或触觉,甚至在手表屏幕关闭后。原创 2024-07-11 10:24:37 · 470 阅读 · 0 评论 -
xcode配置swift使用自定义主题颜色或者使用RGB或者HEX颜色
选中面板上的第二个选项,然后下拉框选择RGB Sliders选项,在底部就有Hex的颜色值了,可以通过修改使用Hex的色值。Any Appearance表示亮色模式下使用的颜色,Dark表示暗黑模式下使用的颜色。比如你刚设置的颜色名称是theam,使用的时候就是Color("theam")原创 2024-07-10 20:24:11 · 882 阅读 · 0 评论 -
xcode开发iPhone拓展apple watch软件,运行的时候apple watch在设备列表不显示还有could not beinstalled at this time
这个问题差点让我演示项目出现大窟窿,还好及时发现,不然后果不堪设想.....还是我对xcode的操作不够熟练导致的。原创 2024-07-10 19:22:38 · 368 阅读 · 0 评论 -
swift开发用Alamofire的post发送proto序列化消息
假设你已经定义好了你的Protobuf消息并生成了相应的Swift代码。:将Protobuf消息序列化为二进制数据。:将序列化的二进制数据作为请求体发送。原创 2024-07-10 18:46:14 · 588 阅读 · 0 评论 -
swiftui返回上个页面编程式返回presentationMode使用
我们使用NavigationLink实现导航到第二个页面的时候,配置了.navigationBarHidden(true),不显示子页面的导航菜单,而是我们自己定义了一个返回按钮操作,点击这个按钮才返回上个页面。这就用到了环境变量presentationMode的使用。原创 2024-07-10 18:41:32 · 468 阅读 · 0 评论 -
SwiftUI中matchedGeometryEffect修饰符的使用,实现图片点击方法效果和动态tab文字底部的指示器切换效果
在 SwiftUI 中,动画是提升应用用户体验的重要手段之一。MatchedGeometryEffect 是 SwiftUI 提供的一个强大的工具,它可以在视图层次结构中不同位置的视图之间创建平滑的动画过渡。这种效果特别适用于列表和详情视图之间的动画,或者在视图布局改变时保持视觉上的连贯性。MatchedGeometryEffect 允许开发者标记两个视图,使得 SwiftUI 可以在这两个视图之间自动计算和应用动画,从而创建一个连续的用户体验。这是通过在两个视图上使用相同的 id 来实现的。原创 2024-07-10 14:49:28 · 1204 阅读 · 0 评论 -
swiftui给视图添加边框或者只给某个边设置border边框
直接使用border()就可以给一个视图添加边框效果,但是这种边框会给所有的边都设置上。border()里面也可以添加属性.border(.blue, width: 5)这种就是设置颜色和宽度。将Rectangle的宽度设置2,高度设置为0,就有了长条形的形状,然后再设置alignment为leading就可以实现左边边框,设置为trailing就可以实现右边边框。通过修改alignment的对齐方式,可以实现上下边框。可以通过修改width设置边框的粗细。原创 2024-07-09 16:49:04 · 689 阅读 · 0 评论 -
xcode项目添加README.md文件并进行编辑
想要给xcode项目添加README.md文件其实还是比较简单的,但是对于不熟悉xcode这个工具的人来讲,还是有些陌生,下面简单给大家讲一下流程。就会在项目的根目录生成一个README.md文件,在里面就可以写文档了。原创 2024-07-09 14:27:24 · 639 阅读 · 0 评论 -
xcode中对项目或者文件文件夹重命名操作
如果在项目中对新建的文件夹或者文件名称不满意或者输入错误了,想要修改一下名称该怎么办?原创 2024-07-09 10:29:06 · 546 阅读 · 0 评论 -
swiftui中封装一个carditem视图,结合toolbar实现滚动的瀑布流,仿小红书首页
这个组件封装出来的效果如图所示:里面使用到的就是水平布局和垂直布局,还有一个Image组件。原创 2024-07-08 15:33:52 · 604 阅读 · 0 评论 -
swiftui中NavigationStack布局navigationBarTitleDisplayMode作用,以及内容顶部空白区域解决办法
因为默认是automatic,而且你没有设置navigationBarTitle,所以这个位置就是默认空着,占一个空白区域。那可能就有异味了:我也没有设置navigationBarTitle这个内容啊,为啥就对我的内容布局有影响呢?那这个navigationBarTitleDisplayMode是干什么用的呢?用于设置视图的导航栏标题的显示模式。它的值是一个枚举类型。原创 2024-07-08 15:33:02 · 674 阅读 · 0 评论 -
swiftui中设置建议最多5个tabItem项,多个tabItem项会被自动折叠起来
在swiftui中设置底部的菜单栏的时候,最多建议设置5个,如果超过了,会被自动折叠到More中,点击More就会出现类似list的样式显示,不是很友好。原创 2024-07-05 11:17:29 · 242 阅读 · 0 评论 -
swiftui中TabView使用,以及Tab使用注意
使用交互式用户界面元素在多个子视图之间切换的视图。也就是手机底部的几个导航菜单一样,但是注意官方给的例子里面有使用Tab组件的,但是这个Tab组件注意:暂时只支持beta版本的系统,低版本是没有的:TabView提供了一个交互式界面,允许用户在其内部的子界面间自由的切换,TabView有两种显示模式,一个是DefaultTabViewStyle,另一个是PageTabViewStyle,本文将对DefaultTabViewStyle这种类型的基本使用和外观样式设置进行一下探索学习。原创 2024-07-04 18:05:53 · 1517 阅读 · 0 评论 -
NavigationView已经过时了,该用 NavigationStack 和 NavigationSplitView了
在iOS 16及以后,NavigationView将会被弃用,取而代之则是NavigationStack。原创 2024-07-04 16:37:37 · 1085 阅读 · 0 评论 -
swiftui中几个常用的手势控制单击点击,双击和长按事件
【代码】swiftui中几个常用的手势控制单击点击,双击和长按事件。原创 2024-07-04 15:20:09 · 325 阅读 · 0 评论 -
ScrollView组件No exact matches in call to initializer
在scrollview中使用text后报错,水平滚动使用的话,应该里面包含一个水平布局的组件,例如HStack组件,可以设置ScrollView滚动方向为 .horizontal或者 .vertical。原创 2024-07-04 14:22:29 · 180 阅读 · 0 评论 -
SwiftUI中List的liststyle样式及使用详解添加、移动、删除、自定义滑动
SwiftUI的swipeActions()修饰符允许你添加一个或多个滑动动作按钮到你的列表行,可选地控制他们属于哪一边,以及他们是否应该被触发使用一个完整的滑动。先看下代码及效果图:swipeActions()方法有三个参数,第一个edge决定操作按钮放哪边;第二个allowsFullSwipe决定完全滑动是否自动执行第一个操作,默认值为true;第三个即是内容闭包了。关于样式,只能通过tint设置背景色,如果不设置,系统默认是灰色的。原创 2024-07-04 11:40:31 · 1442 阅读 · 0 评论 -
swiftui中常用组件picker的使用,以及它的可选样式
一个可选项列表就是一个picker组件搞出来的,它有多个样式可以选择,并且可以传递进去一些可选数据,有点像前端页面里面的seleted组件,但是picker组件的样式可以更多。原创 2024-07-03 18:26:44 · 340 阅读 · 0 评论 -
mac上使用finder时候,显示隐藏的文件或者文件夹
默认在finder中是不显示隐藏的文件和文件夹的,但是想创建.gitignore文件,并向里面写入内容,即便是打开xcode也是不显示这几个隐藏文件的,那有什么办法呢?原创 2024-07-02 19:40:55 · 622 阅读 · 0 评论 -
xcode报错Initializer ‘init(_:)‘ requires that ‘Binding<String>‘ conform to ‘StringProtocol‘
这是因为前面使用的$foods是Bind类型,所以后面的food也要是Bind类型,所以就报错了。使用$food进行渲染,就不会报错了。原创 2024-07-01 11:05:15 · 195 阅读 · 0 评论 -
apple watch上watchOS网络低级别和高级别区别,以及使用tcp/udp或者websocket的限制条件
低层网络:包括网络框架、 NSStream 和任何其他直接运行 TCP 连接或 UDP 会话的 API。3.它允许 watch OS 上的应用程序设置应用程序服务监听器,这样 tvOS 上的同一个应用程序就可以使用 DeviceDisCoveryUI 框架建立到它的低级连接。在 watch OS 9和 tvOS 16中添加了对此的支持。在 watch OS 9中添加了对此的支持。高级网络:包括 URLSession 中的 HTTP 和 HTTPS 支持,以及在此之上的任何代码层。原创 2024-06-20 16:43:45 · 638 阅读 · 0 评论 -
swift使用websocket通讯,依赖库Starscream集成,并验证apple watch实现websocket可行性
这里使用webscoket,主要是使用了Starscream这个库,看图片就知道很牛X,那么干就完了。原创 2024-06-20 16:08:13 · 1331 阅读 · 0 评论 -
xcode和iPhone真机或者watch真机连接问题
2.如果真机和xcode处于同一个局域网的话,之前已经连接过的话,默认在xcode中会显示这个真机设备的,直接选中这个设备就可以在设备上运行了:不用连接数据线就可以。设置 > 隐私与安全 > 开发者模式 > 开启,然后重启就可以了。watch设置:很麻烦,看文章。原创 2024-06-19 20:53:51 · 916 阅读 · 0 评论 -
swift使用swift-protobuf协议通讯,使用指北
Protobuf(Protocol Buffers)协议😉 Protobuf 是一种由 Google 开发的二进制序列化格式和相关的技术,它用于高效地序列化和反序列化结构化数据,通常用于网络通信、数据存储等场景。为什么要使用Protobuf?原创 2024-06-19 17:47:53 · 1820 阅读 · 0 评论 -
Apple Watch开发入门知识,还是很有必要的
2015年3月10日,苹果在旧金山Moscone Center召开2015年春季新品发布会,正式发布了Apple WATCH,分为运动、标准、定制三版,将于2015年4月10号预售,4月24日上市。Apple Watch支持电话,语音回短信,连接汽车,天气、航班信息,地图导航,播放音乐,测量心跳、计步等几十 种功能,是一款全方位的健康和运动追踪设备。原创 2024-06-19 16:04:23 · 882 阅读 · 0 评论