swift如何使用vision来识别获取图片中的文字(ocr),通过swiftui视图和终端命令行,以及一系列注意事项_swift vision-爱代码爱编程
在过去的一年里,我发现苹果系统中的“文字搜图片”功能非常好用,这个功能不光 iPhone/iPad,Mac 也有,找一些图片真的很好用。但是遇到了一个问题:这个功能需要一段时间才能找到新的图片,而且没法手动刷新,这对于外接硬
代码编织梦想
在过去的一年里,我发现苹果系统中的“文字搜图片”功能非常好用,这个功能不光 iPhone/iPad,Mac 也有,找一些图片真的很好用。但是遇到了一个问题:这个功能需要一段时间才能找到新的图片,而且没法手动刷新,这对于外接硬
前言 之前写了一篇博客来讲如何以 point 和 pixel 两种格式获取 iPhone、iPad 等苹果设备的屏幕尺寸:《SwiftUI——得到屏幕尺寸(bounds和nativeBounds)》,但是苹果最近做了修改,
简介 在 WWDC2022 上,苹果为 SwiftUI 提供了图表相关的包Charts,这下就不用自己费劲实现图表功能了。代码量一下子从四五百行变成了十几行,甚至几行(还记得当时为了写图表功能写的快吐血了)。所以就想好好研
在开发过程中,我们经常需要在多个界面之间“闪转腾挪”,在SwiftUI有两种方法: NavigationView法:最常见的方法。每层之间都可以传递数据。由于是一层一层界面跳转,不过不适合几个界面之间跳转。这个方法从 iO
有时候需要横向滑动来让用户选择内容,这样节约空间。 SwiftUI做到这点可以说是非常简单了。 在ScrollView后面加个括号里写上.horizontal,如下(由于字符集问题,这里的🉑️显示不对,演示里是对的):
最近由于需要阅读比较老的文档,老文档里内存地址是用八进制而不是十六进制,所以需要写一个小工具,用来转换进制进制。虽然自带的计算器可以,但是数量一多比较麻烦。 一开始我想费劲吧啦写十二个转换函数,虽然有些函数可以套,但是
有时候需要将数组的下标和元素转换成字典。比如说使用数组元素来查找下标,如果使用一个函数来查找,那每次都得进行循环查找和获取,不论是计算性能还是内存需求都大,这时候将原数组转换成一个字典,关键字为数组元素,值为下标序号会更方便
当需要测试程序的性能时,Xcode 自带的测试功能有时并不能满足我们的需要,这个时候就需要自己编写测试代码。不论是测试 CPU/GPU 密集型程序,还是读写密集型程序,都需要获取程序或函数的运行时间来进行计算。 如果是测试
从 iOS 16 开始,苹果开始弃用原先的NavigationView,以后会逐渐完全淘汰掉。现在开始使用NavigationStack和NavigationSplitView。NavigationStack的效果和原本的N
Safari Extension 扩展插件的权限相关的内容大致分为下面几个方面: 用户要掌控扩展(Users are in control) Safari Extension 扩展插件是要在用户控制下的,不能想干嘛就干嘛
在开发软件的过程中,我们不仅需要用户点击的时候执行操作,有时候还需要定时自动进行一些操作。比如最常见的开屏广告倒计时关闭,还比如一些动画效果。实现这些一般有两种方法:一种是使用计时器Timer,一种是使用异步操作。 优势与缺点 计时器Timer是控制多长时间调用一次功能,也就是说Timer的优势在于可以一直自动运行,直到销毁。缺点在于时间间隔是固定的,
这是开发中非常常见的使用场景。 首先,我们需要知道要获取的json是什么样的,有两种方式得知: 第一,查询API文档: 一般在网站API文档中会介绍,如下: 第二种,通过使用crul -H获取: 这种方法需要使用到终端,上图也介绍了这个方式,如下: $ curl -H "Accept: application/json" https://icanh
阅读建议和提示 可以利用侧边的目录来跳转哦!本文所有代码适用于最新版本的 iOS 15 和 SwiftUI。本文中没有列出所有的属性,是因为有些属性会和其他属性发生冲突而失效,所以忽略了可以被忽略的属性。如何创建简单的 TabView 在SwiftUI中,我们可以很方便地实现标签页效果TabView,如下: struct ContentView: V
从iOS 15.0开始,苹果废弃了之前的.animation(Animation?),建议开发者使用.animation(Animation?, value: Equatable)或者withAnimation替代。 个人感觉改版之后虽然可能有些不习惯,但是开发的可能性和自由度更大了。 但是在讲二者区别之前,我们需要了解一下UI动画。如果你了解这部分可
当我们获得用户在DatePicker中选取的时间之后,我们会获取一个Date类型的数据。但是需要以其他数据类型来使用这个数据。下面就来讲讲如何实现这一点。 date数据类型没有相关的属性,就没办法很简单的通过.来得到我们想要的。但是苹果提供了一个函数供我们实现这一点,如下: //这里表示获取“小时”的数据,hour的数据类型是Int let hour
有很多需要推送通知的情况,但是关于SwiftUI的通知推送说的人却不多,这里就说一些相关内容。一方面是为了自己能以后再查阅,另外一方面也是想能帮到有需要的人。 本文将讲述: 基础款推送(最常见的通知)定时型推送(例如闹铃,纪念日等)在讲述具体操作之前,需要注意一点:通知不能出现在app打开的时候。测试的时候使用模拟器或者实机测试,按完按钮要退出app一
我在使用SwiftUI自带的VideoPlayer的时候,发现在iPod Touch中,有返回的叉叉,但是在其他设备,例如iPhone 13 mini上就没有。如下: 这不是我想要的,查找半天之后都没找到解决办法。最后我发现可以很神奇的解决这一点。 首先我是通过以下代码来调用VideoPlayer struct TableCellView: View
作为独立开发者,有些时候需要大量读音的时候,就可以使用一些语音合成技术,虽然讯飞、谷歌的语音合成技术似乎更好一点,但是需要联网从云端获取,这有时候会影响软件的效率和成本。好在iOS自带语音合成技术,支持的语言包括各个地区口音的英语、中文(普通话)、日语、法语等。 在SwiftUI中使用非常滴方便,如下(我这是为了演示,用的时候可以写一个函数,别像我这么写
我们可能在一些情况下需要获取SwiftUI的一个View的尺寸,我们可以用以下方法获取: .overlay(GeometryReader { geo -> AnyView in DispatchQueue.main.async{ self.displayWidt
苹果为开发者提供了很多图标,提高了开发者的效率,也统一了很多符号的用途,以免造成误解。这些图标被称为SF符号,苹果提供了一个软件来供开发者查找这些符号,名为SF符号(SF Symbol),在开发者官网可以找到,如下: 这个符号通过以下方式使用: Image(systemName: "名称") 名称可以右键SF符号里的图标,点击“拷贝1个名称”,如