ALBusSeatView
Bus Seat View Selection
Install / Use
/learn @applogistdev/ALBusSeatViewREADME
ALBusSeatView 💺
Example
To run the example project, clone the repo, and run pod install from the Example directory first.

Screenshots
| Start | Select | Gender Selection | Voilà! |
| :------------------------: | :------------------------: | :------------------------: | :------------------------: |
|
|
|
|
|
Installation
ALBusSeatView is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'ALBusSeatView'
Usage
// If you want to config more
// let config = ALBusSeatViewConfig()
// ALBusSeatView(withConfig: config)
let seatView = ALBusSeatView()
seatView.delegate = self
seatView.dataSource = self
view.addSubview(seatView)
//ALBusSeatViewDataSource
func seatView(_ seatView: ALBusSeatView, numberOfSeatInSection section: Int) -> Int {
return 43 // Total seat count
}
func seatView(_ seatView: ALBusSeatView, seatNumberForIndex indexPath: IndexPath) -> String {
return "10" // Seat Number
}
func seatView(_ seatView: ALBusSeatView,
seatTypeForIndex indexPath: IndexPath) -> ALBusSeatType {
return .empty
}
// Seat Types
public enum ALBusSeatType: Int {
/// Free to pick
case empty
/// Already sold by woman or man
case sold
/// Being selected
case selected
/// Already sold by woman
case soldWoman
/// Already sold by man
case soldMan
/// Not a seat. Can not be able to select
case none
}
Documentation
Config (ALBusSeatViewConfig)
Layout
| Param | Desc | Default | Type | | --------------------- | ---- | ------- | ------ | | leftHandDrivePosition | Left drive position status | True | Bool | | marginBetweenSeats | Margin between seats | 5.0 | CGFloat |
Seat
| Param | Desc | Default | Type | | ----------------------- | ---- | ------- | -------- | | seatEmptyBGColor | Empty seat color | .white | UIColor | | seatSoldBGColor | Seat color purchased by woman or man. (Common seat) | .gray | UIColor | | seatSelectedBGColor | Selected seat color | .green | UIColor | | seatSoldWomanBGColor | Seat color purchased by woman | .red | UIColor | | seatSoldManBGColor | Seat color purchased by man | .blue | UIColor | | seatCornerRadius | Seat corner radius | 8.0 | CGFloat | | seatBorderColor | Seat border color | .clear | UIColor | | seatBorderWidth | Seat border width | 0 | CGFloat | | seatShadowColor | Seat shadow color | .lightGray | UIColor | | seatShadowRadius | Seat shadow radius | 5.0 | CGFloat | | seatShadowSize | Seat shadow size | 1,1 | CGSize | | seatShadowOpacity | Seat shadow opacity | 0.7 | Float | | seatRemoveImage | The remove button image for selected seat | nil | UIImage? | | seatNumberFont | Seat number label font | .system(15) | UIFont | | seatNumberSelectedFont | Selected seat number label font | .systemBold(15) | UIFont | | seatNumberColor | Seat number label color | .black | UIColor | | seatNumberSelectedColor | Selected seat number label color | .white | UIColor |
Hall
| Param | Desc | Default | Type | | --------------------- | ---- | ------- | ------ | | centerHallHeight | Bus hall height | 20 | CGFloat | | centerHallInfoText | Hall information label text | "" | String | | centerHallInfoTextColor | Hall information label text color | .black | UIColor | | centerHallInfoTextFont | Hall information label text font | .system(12) | UIFont |
Bus Front Section
| Param | Desc | Default | Type | | --------------------- | ---- | ------- | ------ | | busFrontImage | Bus front image | nil | UIImage? | | busFrontImageWidth | Bus front image width | 50 | CGFloat |
Bus Floor Section
| Param | Desc | Default | Type | | --------------------- | ---- | ------- | ------ | | floorSeperatorWidth | Floor section width | 50 | CGFloat | | floorSeperatorImage | Floor section image | nil | UIImage? |
Gender Tooltip
| Param | Desc | Default | Type | | --------------------- | ---- | ------- | ------ | | tooltipText | Gender selection tooltip title | "Select Gender" | String |
Author
sonifex, sonerguler93@gmail.com
License
ALBusSeatView is available under the MIT license. See the LICENSE file for more info.
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
