Swift
Swift knowledge
EugeneLaw
full stack developer
展开
-
Swift 生成图形验证码
class ImageCodeVerification: NSObject { static func create(_ frame: CGRect) -> (obj: UIView, code: String) { let code = getCode() let view = getView(frame, code) return (view, code) } private override init() {...原创 2021-07-30 23:38:48 · 312 阅读 · 0 评论 -
App Designer 了解SwiftUI
写了一个demo app,仅供iPad下载的软件,可以了解SwiftUI的特性和Scene的使用,在AppStore搜索即可。想要对应的代码示例,可以留言,看到会更新文章来展示。原创 2021-07-30 17:32:36 · 57 阅读 · 0 评论 -
【拒绝加班 1】iOS多类监听通知自动同时回调多处工具
众所周知,全局通知多处修改的需求时常有,除非是用响应式框架,否则业务代码一堆堆,实属麻烦。有没有好的方法可以少写代码少加班呢?拯救不开心,拒绝加班,给你一个我自己写的工具代码。 实现方案:利用oc的动态性给对象增加存储属性;利用存储属性搭配工具单例记录执行通知回调的closure来达到多处通知的目的。 上代码:@objc public extension NSObject { @objc func registerNotification(n...原创 2021-07-23 16:38:24 · 135 阅读 · 0 评论 -
iOS开发Scene场景下获取当前活跃的控制器
首先声明如果项目有多个Scene的时候,需要对Scene进行一定的配置控制和判断才能更准确的找到适合的控制器,下面的工具逻辑是:找到活跃的WindowScene,找到根控制器,如果有导航控制器,则优先返回,如果有标签控制器,也优先返回。整体可能找不到合适的控制器,返回空。// 获取当前控制器extension UIViewController { class func current(_ base: UIViewController?=nil) -> UIViewController原创 2021-07-18 01:20:11 · 744 阅读 · 1 评论 -
分享一个SwiftUI的双层侧边栏实现示例
首先给效果图:这是工具类代码结构://// SideBarStack.swift// Apple UI//// Created by eugene on 2021/6/27.//import SwiftUIstruct SideBarStack<Content: View>: View { let bar1Width: CGFloat = 190 let bar2Width: CGFloat = 250 let ba..原创 2021-07-18 01:15:22 · 498 阅读 · 0 评论 -
Swift怎么开启新的Scene
在Info.plist中开启多任务的配置<key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <true/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSes原创 2021-07-11 22:16:59 · 311 阅读 · 0 评论 -
SwiftUI 的一些经验
Q: NavigationLink push 后无法主动 pop viewA: 不可以跨Tab来pop (nav + tab的嵌套关系)Q: draft data传值的技巧A: draft data定义成default,在view appear或者disappear的时候更新。且定义默认为false的save值用于更新。(怎么理解?就是需要点保存才保存的数据,不要直接用State或者Binding来传递,而是赋值一份新的备份,在点击按钮的时候再覆盖更新到State数据源中)Q原创 2021-07-11 22:06:35 · 150 阅读 · 0 评论 -
SwiftUI调用UIKit
在SwiftUI的代码中(随便创建一个SwiftUI View即可)把View协议更改成ViewControllerRepresentable即可变成一个引用UIViewController的SwiftUI类。实现两个方法:MakeUIView和UpdateUIView,返回或更新对应的实例或属性即可。如果调用的不是Controller,可以把SwiftUIView的View协议改成ViewRepresentable即可引用UIView及其子类,同样实现MakeUIView和UpdateUIView原创 2021-07-11 22:03:28 · 678 阅读 · 0 评论 -
iOS Technical support For Pad UI App
any questions, please send an email to [email protected]原创 2021-07-11 20:55:47 · 188 阅读 · 0 评论 -
Swift4.1 转场动画实现侧滑抽屉效果,支持转屏
实现使用了Modal转场动画,原因是项目多由导航控制器和标签控制器作为基类,为了不影响导航控制器的代理,转场动画使用模态交互。 代码使用SnapKit进行布局,能够适应屏幕旋转。手势速率大于300或进度超过30%的时候直接完成动画,否则动画回滚取消,具体数值可以修改对应的常量。抽屉出现的时候,主控制有遮罩,对应关键字是mask。 实现文件只有两个DrawerContr...原创 2018-08-02 17:56:03 · 1173 阅读 · 2 评论 -
Swift4.1 十六进制颜色转UIColor
import UIKitclass Code: NSObject { static func ColorHex(_ color: String) -> UIColor? { if color.count <= 0 || color.count != 7 || color == "(null)" || color == "<null>...原创 2018-07-26 21:59:58 · 1768 阅读 · 0 评论 -
Swift 小技巧
1. 扩展(Extension)任务: 求数字的平方。// 对比写法func square(x: Int) -> Int { return x * x }var squaredOfFive = square(x: 5)square(x: squaredOfFive) // 625为了求5的四次方我们创建变量 squaredOfFive // 改良写法ext...原创 2018-07-21 17:40:26 · 149 阅读 · 0 评论 -
iOS APP 启动时间优化
附:控制台输出预启动时间logTotal pre-main time: 246.58 milliseconds (100.0%) dylib loading time: 72.98 milliseconds (29.5%) rebase/binding time: 51.10 milliseconds (20.7%) Ob...原创 2018-07-24 10:06:19 · 557 阅读 · 0 评论 -
iOS消除第三方SDK警告
在platform :ios, ‘xx’后面加入:inhibit_all_warnings!再重新install即可。原创 2018-07-23 15:46:34 · 512 阅读 · 0 评论