「干货」SwiftUI入门 - 第三方库与Popup引入

置顶

菜鸟入门,各位大佬轻喷,如有谬误之处欢迎讨论建议,也欢迎各位道友与我同行

“不积跬步,无以至千里;不积小流,无以成江海”

继续

上文中我们实现了普通数据的本地持久化保存,包括存储与取消存储。

本文继续,开发总免不了引入第三方库,省事省力省心,所以本文我们来讨论第三方库的引入,以 ExytePopupView 库为例,实现 web 开发中常用的 toast 提醒。

准备工作

据了解,Swift开发的第三方库引入有三种方式

我所了解到的最常用的还是 Cocoapods

所以我们直接从它开始。

cocoapods 安装 与 初始化

介绍和包搜索地址 https://cocoapods.org

一、打开终端Terminal,执行安装命令:

sudo gem install cocoapods

二、在项目根目录新建 Podfile 文件,内容如下

// 版本13以上,因为ExytePopupView只支持13以上
platform :ios, '13.0'
use_frameworks!

// 注意修改项目名称
target 'helloworld' do
  pod "ExytePopupView"
end

三、在终端中,切换到项目根目录,执行命令:

 pod install

那么执行如下命令,更新 cocoapods 之后再安装依赖

sudo gem install cocoapods --pre

再次报错

You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory

执行

brew reinstall cocoapods

pod install

时间可能会比较长,耐心等待

执行完成后工作目录如下

使用

popup 库的仓库地址为 https://github.com/exyte/PopupView

该库也可以使用 Swift Package Manager 进行导入,后续再研究这种方式

根据官方的使用建议,我们将示例代码放到 IndexView.swift 中:

import SwiftUI
// import 我们导入的第三方包
import ExytePopupView

struct IndexView: View{
    // ...
    @State private var showToast:Bool = true;
    
    var body: some View{
        // ...
        VStack{
            // ...
        }
        //...
        .popup(isPresented: $showToast, type:.default, position: .bottom, autohideIn: 10.0, dragToDismiss: true){
            Text("The popup")
                .frame(width: 200, height: 200)
                .background(.gray)
                .foregroundColor(.white)
                .cornerRadius(20.0)
        }
    }
}

点击运行即可得到如下结果:

我们往中间的内容放入文字,或者一个loading图片即可实现web中常用的Toast提示 ,以及Toast Loading

总结

  1. 本文介绍了 cocoapods 的基本使用。
  2. 用好三方包可以节省大量的时间,比如这个 popup
  3. 这个 popup 应该还需要再封装进行使用,不然每个页面都这么写,还是很费劲的。
  4. Cocoapods 里面搜到的很多库都是基于 UIView 进行扩展的,并不能直接在SwiftUI中使用,需要实现 UIViewControllerRepresentable 之后才行,后续再来讨论这个问题。
  5. 建议还是尽量找能支持 SwiftUI的库。
  6. 下章我们来讨论 Popup 的封装,将它封装成 web 中常用的方式。

欢迎关注微信公众号【思跃喵】,一起探讨。

展开阅读全文

页面更新:2024-05-10

标签:道友   干货   终端   根目录   管理器   入门   命令   本文   常用   方式   建议   项目

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top