提供一个基于卡片的视图控制器,用于地图应用,其中卡片的内容与地图同步,类似于 Apple 地图的工作方式。有关此应用的示例,请参阅 TripKitUI SDK 和由 SkedGo 提供的 TripGo。
Package.swift
文件(或通过 Xcode 添加为依赖项).package(url: "https://github.com/skedgo/TGCardViewController.git", from: "1.7.5")
检出仓库并使其可供您的项目访问,例如,作为 git 子模块
将其添加到您的 Podfile
,例如
pod 'TGCardViewController
运行 pod update
创建一个 TGCardViewController
子类并在您的 storyboard 中使用它
重写 init(coder:)
,以便不使用 storyboard 中的实例,而是使用 TGCardViewController.xib
import TGCardViewController
class CardViewController: TGCardViewController {
required init(coder aDecoder: NSCoder) {
// When loading from the storyboard we don't want to use the controller
// as defined in the storyboard but instead use the TGCardViewController.xib
super.init(nibName: "TGCardViewController", bundle: TGCardViewController.bundle)
}
...
}
创建一个 TGCard
子类,表示顶层卡片,然后在您的视图控制器的 viewDidLoad
中添加并推送它
override func viewDidLoad() {
rootCard = MyRootCard()
super.viewDidLoad()
}
行为
collapsed
: 仅显示卡片标题peaking
: 显示卡片内容的一半和地图内容extended
: 完全显示卡片,地图在顶部显示一点但灰显样式
卡片类型
卡片样式
地图内容
地图按钮
extended
时,按钮会淡出NSUserActivity