iOS开发——扫码界面实现
发表于|更新于
|浏览量:
类似下面这样一个收款界面的实现
界面分析
- 黑色半透明背景
- navgationBar下面绿色的那个headerView
- 扫码框,及绿色动态扫码线的实现
- 扫码框下面的提示文字
黑色背景的实现,可能跟想象的不同,见下图(图中的1/2/3只是标识不同部分,不是顺序),先是需要放一个backView,然后是放中间的扫码框3,再然后上下左右四个1,最后放headerView和提示文字2;
实现
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2022-04-12
Algorithem_BinarySearch
Algorithem_BinarySearchBinarySearchGiven an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. You must write an algorithm with O(log n) runtime complexity. Constraints:All the integers in nums are unique.nums is sorted in ascending order. 解法一开始我的想法是,从每次数组的中间 middleIndex 开始查找,比较数组中间的数字和 target 的大小,target 大则取 从middleIndex到数组结尾截取数组生成新的数组;target 小则取从0到 middle...
2022-01-06
Swift后缀表达式(逆波兰式)转换计算
Swift后缀表达式(逆波兰式)转换计算背景最近在开发《挑战24点》的过程中遇到了一个问题,即,如何计算常用数学表达式的结果,即,给定字符串8 - (6 + 4 / 2 - 1) * 2,怎么计算得到结果,并且得到计算的过程。 网上查资料发现,大部分都是类似系统计算器的处理,在遇到第二个运算符时,就把前一步的操作结果计算出来。这样的处理方式并不适用于笔者想要解决的问题。 进一步搜索后发现,前缀表达式、中缀表达式、后缀表达式的概念,给定的字符串8 - (6 + 4 / 2 - 1) * 2属于中缀表达式,而想要计算机得出结果,可以转为前缀表达式或者后缀表达式,然后再对转换后的表达式进行计算。 这里采用中缀表达式转后缀表达式,然后计算后缀表达式得出结果,步骤如下。 Swift 中缀表达式转后缀表达式什么是中缀表达式、后缀表达式?首先理解中缀表达式和后缀表达式分别是什么? 中缀表达式: 是常用的算术表示方法,操作符处于操作数的中间,比如 (a + b),即中缀形式,故而称之为中缀表达式。 后缀表达式: 运算符写在操作数之后,比如 (a, b, +),称之为后缀表达式,又名...
2020-08-10
iOS beta4崩溃修改
iOS beta4崩溃修改前言升级iOSBeta4后,有用户反馈使用我们APP时会崩溃,有登录的、查看详情的,都会出现崩溃。我们查看Bugly数据也发现崩溃率上升了0.02%,直接超出了指定的崩溃指标。虽然是由于升级beta版系统导致的,但还是要排查出具体原因,然后尽快适配。所以我说一下我发现的哪个API导致的,供大家参考一下。 排查由于崩溃是必现的,所以排查起来很容易,找一台升级了iOS14 beta4的手机,然后复现步骤,看具体崩溃的地方,即可我们APP是由于使用了SexyJson这个库,其中SexyJsonProtocol这个类第67行中sexyToValue()的方法里使用AnyRandomAccessCollection这个地方有强制解包属性,在之前的系统版本中,这个地方返回的值不为空,所以没有问题,但是在这个版本里,这个属性返回为空了,就导致了新系统中的崩溃。 如图所示位置: 修改由于是强制解包导致的,所以直接的修改就是,把这个地方的强制解包,改为if let的格式,修改后,运行,binggo,崩溃确实没了。但是在验证过程中,由于我们使用这个是把请求的对象转为参数...
2025-08-20
Xcode 26编译失败修改
背景电脑升级MacOS 26.0,新增了一个SDK后,Xcode26 Beta5和Beta6,编译项都报错,提示:Assertion failed: (it != _dylibToOrdinal.end()), function dylibToOrdinal, file OutputFile.cpp, line 5196. 排查过程 在StackOverFlow上有看到说ENABLE_DEBUG_DYLIB=NO,尝试后无效果 在Xcode 26 Link Error中看到,Apple官方人员的回复,要添加-Xlinker -dead_strip -Xlinker -allow_dead_duplicates. 解决办法通过 Other Linker Flags 修改进入 Target 的 Build Settings 标签:选中 Target → Build Settings → 搜索 Other Linker Flags。手动修改链接参数:点击 Other Linker Flags,首先移除 12-ld64 -ld_classic 然后添加 1234-Xlinker ...
2023-06-29
Flutter版本的海外剧
背景前阵子抓包,有两个海外剧的接口,最近有时间,打算温习一下 Flutter,就用来写了一个简单的 APP,包含轮播图、下拉刷新、上拉加载以及播放功能。 效果如下: 运行时需要注意 Flutter 版本的问题,可能需要修改 播放器的 package 中的代码,直接Google 搜索,修改即可,如有疑问可以联系我。 代码放在 Github 上,地址是:meiju_flutter
2022-04-20
iOS 长截图
iOS长截图背景Twitter 上看到TaioApp的作者说,iOS 系统有支持长截图的API——UIScreenshotService,从 iOS 13开始就可以使用,下午的时候就在自己的 APP 中体验了一下。 过程UIScreenshotService官方的说明如下: When the user takes a screenshot of your app’s content, you work with a UIScreenshotService object to provide a PDF version of that screenshot. You do not create a UIScreenshotService object directly. Instead, you retrieve the object from the screenshotService property of your window scene and assign a delegate to it. When the user takes a screenshot, UI...