SwiftUI 热门开源库推荐第1期 - 凡人程序猿 - iOS开发

大家好,周末给大家分享几个我在用已久的 GitHub 开源库,这些开源库使用简单,功能强大,使用好它们能够为我们节省大量的开发时间。话不多说,直接上库。

1、PopupView

github 项目地址:https://github.com/exyte/PopupView

这个开源库在 GitHub 上有 3.2K 个赞。它是一款功能全面且好用的弹窗组件,可以用它来轻松创建各种各样的弹窗样式。

以下是一段简单的使用示例:

import SwiftUI
import PopupView

struct GCTestView: View {
    @State private var isShowingPopup = false
    
    var body: some View {
        Button("点我吐丝你看", action: {
            isShowingPopup = true
        })
        .popup(isPresented: $isShowingPopup) {
            // 定义吐丝内容
            Text("请你关注凡人程序猿")
                .frame(width: 200, height: 60)
                .background(Color(red: 0.85, green: 0.8, blue: 0.95))
                .cornerRadius(30.0)
        } customize: {
            $0
                .type(.floater(useSafeAreaInset: true)) // 需要安全边距
                .autohideIn(2) // 在2秒后关闭
                .position(.bottom) // 在底部显示
        }
    }
}

#Preview {
    GCTestView()
}

这段代码的效果是:

2、SFSafeSymbols

github 项目地址:https://github.com/SFSafeSymbols/SFSafeSymbols

这个开源库在 GitHub 上有 1.6K 个赞。它能够使开发者安全地使用苹果提供的 SF Symbols 符号图标,避免你在代码中直接使用字符串,从而减少字符串拼写失误问题。

当然它的强大不止如此,如果你的项目支持版本较低,而又使用了高版本才支持的符号图标,那么会在编译时报错,能够让你及时改正错误。 当然了,前提是你在使用 SFSafeSymbols 提供的 API。

这个库的使用也很简单,上手难度低,我们平常的写法是一个字符串,现在只需要换成是驼峰写法即可。以下是一段简单的使用示例:

import SwiftUI
import SFSafeSymbols

struct Test: View {
    var body: some View {
        Image(systemName: "square.and.arrow.up") // 原来的写法
        
        Image(systemSymbol: .squareAndArrowUp) // 应用库后的写法
    }
}

#Preview {
    Test()
}

它们的效果是一致的:

3、SwiftUIX

github 项目地址:https://github.com/SwiftUIX/SwiftUIX

这个开源库在 GitHub 上有 6.7K 个赞。它为 SwiftUI 提供了一套广泛的组件,试图弥补 SwiftUI 原生组件的空白。

在 SwiftUI 没有提供的组件,例如 WebView,它就为此封装了一个 WebView 组件。

以下是一段简单的使用示例,只是打开了百度官网和一个加载中视图:

import SwiftUI
import SwiftUIX

struct Test: View {
    var body: some View {
        WebView(url:
                    "http://www.baidu.com", placeholder: {
            Text("Loading...")
        })
    }
}

#Preview {
    Test()
}

在 SwiftUIX 里,WebView 是通过 UIViewRepresentable 桥接 WKWebView 实现的。

这段代码的效果是:

好了,今天的分享就到这里,如果你觉得这篇文章对你有帮助,别忘了点赞、评论、转发,让更多的小伙伴也能受益!我们下次再见啦!👋

🚀 Happy Coding! 🚀

关于作者

博文作者:GarveyCalvin
公众号:凡人程序猿
本文版权归作者所有,欢迎转载,但必须保留此段声明,并给出原文链接,谢谢合作!

posted @ 2024-06-06 11:56  GarveyCalvin  阅读(129)  评论(0编辑  收藏  举报