SPLarkController 1.2.1

SPLarkController 1.2.1

Ivan VorobeiIvan Vorobei 维护。



  • Ivan Vorobei

SPLarkController

关于

在控制器之间进行切换到顶部。您可以在展示控制器之后更改可动高度。

使用自定义过渡代理进行展示和消失。

您可以将任何内容设置到底部控制器中,如按钮甚至集合,就像在预览中那样。要实现与预览中类似设置,请参阅设置控制器部分。

如果您喜欢这个项目,别忘了给它 star ★ 并在 GitHub 上关注我

https://github.com/varabeis

导航

要求

Swift 4.2 & 5.0。可为 iOS 10+ 准备使用

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要将 SPLarkController 集成到您的 Xcode 项目中使用 CocoaPods,请在您的 Podfile 中指定它。

pod 'SPLarkController'

手动

如果您不喜欢上述任何依赖管理器,您可以将 SPLarkController 手动集成到项目中。将 Source/SPLarkController 文件夹放入您的 Xcode 项目中。请确保启用 如果需要则复制项目创建分组

使用

展示

创建控制器并调用函数 presentAsLark

import UIKit
import SPLarkController

class ViewController: UIViewController {
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        let controller = UIViewController()
        self.presentAsLark(controller)
    }
}

如果您想自定义控制器(设置自定义高度等),创建控制器并将 transitioningDelegate 设置为 SPLarkTransitioningDelegate 对象。使用 presentdismiss 函数。

let controller = UIViewController()
let transitionDelegate = SPLarkTransitioningDelegate()
controller.transitioningDelegate = transitionDelegate
controller.modalPresentationStyle = .custom
controller.modalPresentationCapturesStatusBarAppearance = true
self.present(controller, animated: true, completion: nil)

请勿像这样初始化 SPLarkTransitioningDelegate

controller.transitioningDelegate = SPLarkTransitioningDelegate()

您将得到关于弱属性的错误。

高度

customHeight 参数设置模态控制器的高度。默认为 nil

transitionDelegate.customHeight = 350

更改高度

在演示后更改高度,请使用以下代码:

if let presentationController = self.presentationController as? SPLarkPresentationController {
    presentationController.updateHeight(600)
}

您可以在“示例”文件夹中查看其工作原理。这是我准备好了的项目。

设置控制器

您可以将设置控制器简单实现如下。您需要从SPLarkSettingsController扩展并实现所有方法。请参见类以获取更多详细信息。

class SettingsController: SPLarkSettingsController {}

屏幕快照

该项目使用屏幕快照以避免兼容性和自定义问题。在控制器演示之前,创建父视图的快照,并更改快照的大小和位置。有时您需要更新父视图的截图,为此请使用静态函数

SPLarkController.updatePresentingController(modal: controller)

并传递控制器,该控制器为模态,并使用SPLarkTransitioningDelegate

其他控制器的模态演示

如果您要在 SPLarkController 上演示模态控制器,请设置

controller.modalPresentationStyle = .custom

这是正确演示和删除所有模态控制器的必要条件。

其他项目

SPAlert

在使用反馈或添加歌曲到苹果音乐库之后,您可以在AppStore中找到这些警报。包含流行的“完成”、“心形”预设以及许多其他预设。“完成”预设以如原始形式一样的绘制路径动画呈现。也有不带图标的简单提示信息。一行代码即可使用。

SPPerspective

来自iOS 14的小部件动画。带动态阴影的3D变换。查看视频预览。提供深度的3D和阴影自定义。您还可以使用不带动画的静态变换。

SPPermissions

用于请求和检查权限状态。支持同时请求多个权限的本地UI。简单的集成和使用,仅两行代码。

SPDiffable

简化了与表格和集合中动画更改的协同工作。每个对象类型需要苹果的diffable API模型。如果想在多个地方使用它,则需要花费时间来实现它并避免重复代码。本项目通过共享模型和特殊的单元格提供者以优雅的方式完成此操作。支持iOS14的侧滑栏,并且已经提供了本机的单元格提供者和视图。

SparrowKit

用于提升您的开发效率的Swift原生扩展集合。支持tvOS和watchOS。

对于俄语社区

俄语社区

在电报频道 沃罗比约夫的代码 上,我写有关 iOS 开发的内容。视频教程发布在 YouTube

Tutorials on YouTube