代码编织梦想

swift如何使用vision来识别获取图片中的文字(ocr),通过swiftui视图和终端命令行,以及一系列注意事项_swift vision-爱代码爱编程

在过去的一年里,我发现苹果系统中的“文字搜图片”功能非常好用,这个功能不光 iPhone/iPad,Mac 也有,找一些图片真的很好用。但是遇到了一个问题:这个功能需要一段时间才能找到新的图片,而且没法手动刷新,这对于外接硬

关于uiscreen.main.bounds.height的值发生了变化的原因和解决方案_ios uiscreen.bound 错误-爱代码爱编程

前言 之前写了一篇博客来讲如何以 point 和 pixel 两种格式获取 iPhone、iPad 等苹果设备的屏幕尺寸:《SwiftUI——得到屏幕尺寸(bounds和nativeBounds)》,但是苹果最近做了修改,

swiftui——如何使用自带的原生图表(charts)_swiftui charts-爱代码爱编程

简介 在 WWDC2022 上,苹果为 SwiftUI 提供了图表相关的包Charts,这下就不用自己费劲实现图表功能了。代码量一下子从四五百行变成了十几行,甚至几行(还记得当时为了写图表功能写的快吐血了)。所以就想好好研

swiftui——界面间的“闪转腾挪”(页面跳转的各种方法)_swiftui 页面跳转-爱代码爱编程

在开发过程中,我们经常需要在多个界面之间“闪转腾挪”,在SwiftUI有两种方法: NavigationView法:最常见的方法。每层之间都可以传递数据。由于是一层一层界面跳转,不过不适合几个界面之间跳转。这个方法从 iO

swiftui——横向滑动浏览选择_swift scrollview 横向_zhonguncle的博客-爱代码爱编程

有时候需要横向滑动来让用户选择内容,这样节约空间。 SwiftUI做到这点可以说是非常简单了。 在ScrollView后面加个括号里写上.horizontal,如下(由于字符集问题,这里的🉑️显示不对,演示里是对的):

swift——如何将某一进制的数字按另一种进制输出(比如十进制输出打印成十六进制,八进制打印输出成二进制)-爱代码爱编程

最近由于需要阅读比较老的文档,老文档里内存地址是用八进制而不是十六进制,所以需要写一个小工具,用来转换进制进制。虽然自带的计算器可以,但是数量一多比较麻烦。 一开始我想费劲吧啦写十二个转换函数,虽然有些函数可以套,但是

swift——如何将数组转换成字典(关键字为数组元素,值为下标序号)-爱代码爱编程

有时候需要将数组的下标和元素转换成字典。比如说使用数组元素来查找下标,如果使用一个函数来查找,那每次都得进行循环查找和获取,不论是计算性能还是内存需求都大,这时候将原数组转换成一个字典,关键字为数组元素,值为下标序号会更方便

swift——如何获取一个函数/功能的运行时间-爱代码爱编程

当需要测试程序的性能时,Xcode 自带的测试功能有时并不能满足我们的需要,这个时候就需要自己编写测试代码。不论是测试 CPU/GPU 密集型程序,还是读写密集型程序,都需要获取程序或函数的运行时间来进行计算。 如果是测试

swiftui——如何使用新的navigationstack和navigationsplitview(如何页面跳转2.0以及如何制作侧栏)_zhonguncle的博客-爱代码爱编程

从 iOS 16 开始,苹果开始弃用原先的NavigationView,以后会逐渐完全淘汰掉。现在开始使用NavigationStack和NavigationSplitView。NavigationStack的效果和原本的N

safari extension 扩展插件中关于权限的二三事(例如设置权限、权限类型等)_zhonguncle的博客-爱代码爱编程

Safari Extension 扩展插件的权限相关的内容大致分为下面几个方面: 用户要掌控扩展(Users are in control) Safari Extension 扩展插件是要在用户控制下的,不能想干嘛就干嘛

SwiftUI——延迟执行操作/定时自动执行操作(使用计时器Timer以及异步DispatchQueue.main.asyncAfter)-爱代码爱编程

在开发软件的过程中,我们不仅需要用户点击的时候执行操作,有时候还需要定时自动进行一些操作。比如最常见的开屏广告倒计时关闭,还比如一些动画效果。实现这些一般有两种方法:一种是使用计时器Timer,一种是使用异步操作。 优势与缺点 计时器Timer是控制多长时间调用一次功能,也就是说Timer的优势在于可以一直自动运行,直到销毁。缺点在于时间间隔是固定的,

SwiftUI——获取网站api中的JSON,并且显示其中的文本-爱代码爱编程

这是开发中非常常见的使用场景。 首先,我们需要知道要获取的json是什么样的,有两种方式得知: 第一,查询API文档: 一般在网站API文档中会介绍,如下: 第二种,通过使用crul -H获取: 这种方法需要使用到终端,上图也介绍了这个方式,如下: $ curl -H "Accept: application/json" https://icanh

SwiftUI——如何修改TabView的各种属性(包括tabItem的属性),例如颜色、位置、大小等-爱代码爱编程

阅读建议和提示 可以利用侧边的目录来跳转哦!本文所有代码适用于最新版本的 iOS 15 和 SwiftUI。本文中没有列出所有的属性,是因为有些属性会和其他属性发生冲突而失效,所以忽略了可以被忽略的属性。如何创建简单的 TabView 在SwiftUI中,我们可以很方便地实现标签页效果TabView,如下: struct ContentView: V

SwiftUI——iOS15新版Animation制作动画介绍-爱代码爱编程

从iOS 15.0开始,苹果废弃了之前的.animation(Animation?),建议开发者使用.animation(Animation?, value: Equatable)或者withAnimation替代。 个人感觉改版之后虽然可能有些不习惯,但是开发的可能性和自由度更大了。 但是在讲二者区别之前,我们需要了解一下UI动画。如果你了解这部分可

SwiftUI——从Date类型获取各种数据(hour,minute等)-爱代码爱编程

当我们获得用户在DatePicker中选取的时间之后,我们会获取一个Date类型的数据。但是需要以其他数据类型来使用这个数据。下面就来讲讲如何实现这一点。 date数据类型没有相关的属性,就没办法很简单的通过.来得到我们想要的。但是苹果提供了一个函数供我们实现这一点,如下: //这里表示获取“小时”的数据,hour的数据类型是Int let hour

SwiftUI——推送通知(Notifications)二三事-爱代码爱编程

有很多需要推送通知的情况,但是关于SwiftUI的通知推送说的人却不多,这里就说一些相关内容。一方面是为了自己能以后再查阅,另外一方面也是想能帮到有需要的人。 本文将讲述: 基础款推送(最常见的通知)定时型推送(例如闹铃,纪念日等)在讲述具体操作之前,需要注意一点:通知不能出现在app打开的时候。测试的时候使用模拟器或者实机测试,按完按钮要退出app一

SwiftUI——使用VideoPlayer的时候,没有返回的叉叉,或者缺少其他功能-爱代码爱编程

我在使用SwiftUI自带的VideoPlayer的时候,发现在iPod Touch中,有返回的叉叉,但是在其他设备,例如iPhone 13 mini上就没有。如下: 这不是我想要的,查找半天之后都没找到解决办法。最后我发现可以很神奇的解决这一点。 首先我是通过以下代码来调用VideoPlayer struct TableCellView: View

SwiftUI——如何使用iOS/iPadOS/macOS系统自带的文本转语音功能(TTS)来朗读文本-爱代码爱编程

作为独立开发者,有些时候需要大量读音的时候,就可以使用一些语音合成技术,虽然讯飞、谷歌的语音合成技术似乎更好一点,但是需要联网从云端获取,这有时候会影响软件的效率和成本。好在iOS自带语音合成技术,支持的语言包括各个地区口音的英语、中文(普通话)、日语、法语等。 在SwiftUI中使用非常滴方便,如下(我这是为了演示,用的时候可以写一个函数,别像我这么写

SwiftUI——如何获取View视图的尺寸-爱代码爱编程

我们可能在一些情况下需要获取SwiftUI的一个View的尺寸,我们可以用以下方法获取: .overlay(GeometryReader { geo -> AnyView in DispatchQueue.main.async{ self.displayWidt

SwiftUI——如何调整SF符号大小-爱代码爱编程

苹果为开发者提供了很多图标,提高了开发者的效率,也统一了很多符号的用途,以免造成误解。这些图标被称为SF符号,苹果提供了一个软件来供开发者查找这些符号,名为SF符号(SF Symbol),在开发者官网可以找到,如下: 这个符号通过以下方式使用: Image(systemName: "名称") 名称可以右键SF符号里的图标,点击“拷贝1个名称”,如