SwiftUI确实改变了我们设计和思考iOS应用程序的方式。 在WWDC 2019上首次亮相后,Apple通过引入大量新视图,属性包装和自定义类型进一步提升了性能。

但是,声明性框架仍处于起步阶段。 SwiftUI的错误使得在生产中很难使用。 此外,我们还没有看到iOS应用程序中许多SwiftUI的高级用例。

无论如何,许多开发人员已经赶上潮流,并构建了一些惊人的SwiftUI库,您可以在iOS应用程序中插入和播放这些库。

让我们逐步了解其中的一些。

1. PermissionsSwiftUI

无论是通过引入近似位置访问,有限的图片库还是最新的iOS 14广告跟踪权限,苹果每年都会提高应用程序权限。PermissionsSwiftUI还有一个UIKit版本,名叫SPPermissions,该类库的使用,参见《iOS开发中的神兵利器》第10章的第1节:通过SPPermissions以更加优雅的方式向申请权限 

这种具有权限的透明性对消费者而言是福音,而对广告客户而言则是头疼。

该库包含Apple默认样式的所有12种iOS权限。 您可以从底部的表格轻松地在它们之间切换。

Permissions

可以在任何视图上设置JMPermission视图修饰符以显示模式表,如下所示:

.JMPermissions(showModal: $showModal, for: [.photo, .microphone])

此外,该库还允许您使用setPermissionComponent设置自定义权限文本,图像和图标,以为用户提供更好的上下文。

2. Liquid

启动画面总是在任何应用程序中都可取。 通常,团队倾向于聘请设计师来创作引人注目的艺术品。

幸运的是,我们有一个现成的Swift软件包可以做到这一点。 该库可让您仅通过使用Liquid()自定义视图将液态的动画后挡板视图集成到您的SwiftUI界面中:

Code

3. FontAwesomeSwiftUI

FontAwesome图标在组织的应用程序和网站中得到了广泛的使用。 图标为矢量形状这一事实表明,调整图标的大小不会失去质量。

通用命名法仅确保人们可以从云中即时更改其Android,iOS和Web应用程序的图标。

该库可利用枚举的强大功能将FontAwesome 5图标带到您的SwiftUI应用程序中。 对于iOS应用,您需要做的是:

FontAwesome.register()

设置完成后,您可以在SwiftUI文本中设置矢量图标,如下所示:

Text(AwesomeIcon.btc.rawValue)
    .font(.awesome(style: .brand, size: 20))
    .foregroundColor(.white)

Colorful icons

4. StepperView

步进器是当今应用程序的重要组成部分。 它们有助于向用户发送实时进度反馈。 遗憾的是,SwiftUI目前不支持本机Stepper视图。

但是,该库通过为StepperView提供开箱即用的支持来努力使您的开发更加轻松。 您可以使用自定义指标视图,类型,线条和文本对齐方式快速创建垂直和水平步进器。

StepperView example

5. PopupView

与Android不同,iOS早就没有内置的吐司了。 尽管出现了带有“ AirPods Connected”通知的iOS 14,但苹果生态系统基本上没有UI。

PopupView只是解决该问题的库。 顾名思义,这个Swift包有助于在您的SwiftUI界面中显示吐司和弹出窗口。

它带有以下用于自定义视图的可选参数:

  • type — toast, float, or default
  • position — top or bottom (for a default case, it just determines animation direction)
  • animation — custom animation for popup sliding onto the screen
  • autohideIn — time after which popup should disappear

 

PopupView in action

6. AlertX

弹出窗口与“警告”对话框不同,因为前者不需要按钮,并且可以自动关闭。

如果默认的iOS警报看起来很无聊,请使用此处的库,使事情变得更加有趣。

AlertX是一个库,可帮助您轻松地在SwiftUI中设置自定义警报。 从更改背景主题到添加圆角,多个按钮和动画,使用此库可以实现一长串的事情。

这是简单的代码行即可实现的功能:

AlertX.Theme.wine(withTransparency: false, roundedCorners: true)

Example of AlertX

7. ActivityIndicatorView

iOS 14中的SwiftUI带来了一些进步。 但是,它仍然缺少原生的“活动指标”。 没错,您可以使用ProgressView在某种程度上显示不确定的加载程序。 再说一次,它不能被定制得很长。

ActivityIndicatorView库提供了在SwiftUI中创建的各种预设加载指示器。 从选择指示器的类型到添加颜色和渐变,您可以做很多事情来显示自己喜欢的进度指示器。

 

 

8. MarkdownUI

我们都喜欢Markdown编辑,不是吗? 它们使您可以使用标准语法在网络上编写格式化的文本。

SwiftUI缺少这一必不可少的工具,尽管可以通过使用UIViewRepresentable协议来利用UITextView,但内置的Markdown编辑器会更好。

再次,我们有一个用于在SwiftUI中渲染Markdown的库。 您可以设置粗体,斜体,内联代码等。 语法如下:

Markdown(
    #"""
    Make some words **bold** and other words *italic* with Markdown.

    ## Inline code
    Wrap them in backticks: `var example = true`.
    """#
)

Example of MarkdownUI

要自定义字体,请使用MarkdownStyle视图修饰符,您可以使用该修饰符设置字体名称和大小的标题和代码。

9. SlideOverCard

从屏幕底部弹出的卡片是一种设计模式,已被iOS开发人员越来越多地采用。 这并不奇怪,因为它默认用于Apple的HomeKit和Wifi共享UI中。

SlideOverCard是一个库,可将该卡设计引入您的SwiftUI界面。 您可以使用带有可选布尔参数的SlideOverCardView或slideOverCard视图修饰符来显示附件视图,例如displayExitButton,dragEnabled和dragToDismiss。

Example of SlideOvercard

10. SwiftUICharts

图表是当今大多数应用程序的核心组成部分。 除了提供令人赏心悦目的视觉效果外,它们还可以用于显示股票和加密货币的数据以及各种统计工具。

该库可让您快速将折线图以及垂直和水平条形图集成到您的SwiftUI应用程序中。 锦上添花,它也支持辅助功能。

 

Examples of charts

Conclusion

编程中有一个流行的语录:“除非您打算学习更多有关车轮的知识,否则请不要重新发明车轮。” 这当然适用于图书馆。

当您正在构建复杂的项目且时间很短时,拥有现成的库无疑会提高您的开发速度,并确保您不会浪费时间在别人已经解决的事情上。

我希望这组SwiftUI库能够激发您构建更多出色的iOS应用程序,并可能有助于开源项目。

译自:https://betterprogramming.pub/10-swiftui-libraries-to-use-in-2021-d21c0384e619

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐