Seatsio iOS 组件
介绍
seatsio-ios 允许在 iOS 应用程序内渲染 seats.io 座位布局图。它支持 iOS 8.0 及更高版本。
安装
将以下内容添加到您的 podfile
pod 'seatsio', '13.5.0'
使用
class SeatingChartSample: UIViewController {
var seatsio: SeatsioWebView!
override func loadView() {
let config: SeatingChartConfig = SeatingChartConfig()
.workspaceKey("<your public workspace key>")
.event("<your event key>")
seatsio = SeatsioWebView(frame: UIScreen.main.bounds, region: "eu", seatsioConfig: config)
self.view = seatsio
}
}
您可以在以下位置找到所有配置选项:https://docs.seats.io/docs/renderer-configure-your-floor-plan
简单定价
SeatingChartConfig()
.pricing([
Pricing(category: "1", price: 40),
Pricing(category: "2", price: 50)
])
.priceFormatter({ (price) in "\(price)$" })
多层次定价
SeatingChartConfig()
.pricing([
Pricing(category: "1", ticketTypes: [
TicketTypePricing(ticketType: "child", price: 10),
TicketTypePricing(ticketType: "adult", price: 15)]),
Pricing(category: "2", ticketTypes: [
TicketTypePricing(ticketType: "child", price: 20),
TicketTypePricing(ticketType: "adult", price: 30)])
])
.priceFormatter({ (price) in "\(price)$" })
创建一个会话以保留座位
var seatingChart: SeatingChart!
let config: SeatingChartConfig = SeatingChartConfig()
.workspaceKey("<your public workspace key>")
.event("<your event key>")
.session("start")
.onChartRendered({ (chart) in
seatingChart = chart
})
// after webview has rendered
seatingChart.getHoldtoken({ (token) in
// do something with the token
})
onObjectSelected / onObjectDeselected
SeatingChartConfig()
.onObjectSelected({ (object, ticketType) in
print(object, ticketType)
})
.onObjectDeselected({ (object, ticketType) in
print(object, ticketType)
})
chart.listSelectedObjects
var seatingChart: SeatingChart!
let config: SeatingChartConfig = SeatingChartConfig()
.workspaceKey("<your public workspace key>")
.event("<your event key>")
.onChartRendered({ (chart) in
seatingChart = chart
})
// after webview has rendered
seatingChart.listSelectedObjects({ (objects) in
// do something with the objects
})
chart.getReportBySelectability
var seatingChart: SeatingChart!
let config: SeatingChartConfig = SeatingChartConfig()
.workspaceKey("<your public workspace key>")
.event("<your event key>")
.onChartRendered({ (chart) in
seatingChart = chart
})
// after webview has rendered
seatingChart.getReportBySelectability({ (report) in
// do something with the report
})
chart.zoomToSection
var seatingChart: SeatingChart!
let config: SeatingChartConfig = SeatingChartConfig()
.workspaceKey("<your public workspace key>")
.event("<your event key>")
.onChartRendered({ (chart) in
seatingChart = chart
})
// after webview has rendered
seatingChart.zoomToSection(label: "<sectionLabel>")
座椅(及其他可选项)上的方法
var seatingChart: SeatingChart!
let config: SeatingChartConfig = SeatingChartConfig()
.workspaceKey("<your public workspace key>")
.event("<your event key>")
.onChartRendered({ (chart) in
chart.selectObject("K-3") // or chart.deselectObject("K-3")
chart.pulseObject("K-3") // or chart.unpulseObject("K-3")
chart.isObjectInChannel("K-3", "NO_CHANNEL", { (result) in print("Is object in channel NO_CHANNEL? " + String(result)) })
})