william-weng/wwsidemenuviewcontroller
- [Customizable side menu of the screen.](https://github.com/kukushi/SideMenu)
[Introduction - 簡介](https://swiftpackageindex.com/William-Weng)
[WWSideMenuViewController] [WWSideMenuViewController] [WWSideMenuViewController]
[Installation with Swift Package Manager](https://medium.com/彼得潘的-swift-ios-app-開發問題解答集/使用-spm-安裝第三方套件-xcode-11-新功能-2c4ffcf85b4b)
dependencies: [
.package(url: "https://github.com/William-Weng/WWSideMenuViewController.git", .upToNextMajor(from: "1.5.1"))
][相關設定](https://ezgif.com/video-to-webp)
[WWSideMenuViewController] [WWSideMenuViewController] [WWSideMenuViewController]
可用函式
|函式|說明| |-|-| |initSettingWithSegue(:displayPosition:baseColor:delegate:)|初始化設定 (使用Segue)| |initSettingWithViewController(:displayPosition:baseColor:delegate:)|初始化設定 (使用UIViewController)| |displayMenu(with:duration:curve:)|顯示側邊選單| |dismissMenu(with:duration:curve:)|隱藏側邊選單| |backFirstItemViewController(with:duration:curve:)|回到一開始的頁面 (第一頁)| |changeItemViewController(_:with:duration:curve:)|切換頁面|
Example
import UIKit
import WWSideMenuViewController
final class SideMenuViewController: WWSideMenuViewController {
override func viewDidLoad() {
super.viewDidLoad()
initSettingWithSegue(delegate: self)
// initSettingWithSegue(displayPosition: .back(256), delegate: self)
// initSettingWithSegue(displayPosition: .scale(365, 0.8, 32.0), baseColor: .clear, delegate: self)
}
}
extension SideMenuViewController: WWSideMenuViewControllerDelegate {
func sideMenu(_ sideMenuController: WWSideMenuViewController, state: MenuState) {
print(state)
}
func sideMenu(_ sideMenuController: WWSideMenuViewController, from previousViewController: UIViewController?, to nextViewController: UIViewController) {
print("from: \(String(describing: previousViewController)) to: \(nextViewController)")
}
}import UIKit
import WWSideMenuViewController
class MenuViewController: WWMenuViewController {
lazy var tabViewController: UIViewController = { self.storyboard!.instantiateViewController(withIdentifier: "Tab") }()
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesBegan(touches, with: event)
_ = dismissMenu()
}
@IBAction func dimissMenu(_ sender: UIButton) { _ = dismissMenu() }
@IBAction func changePageViewController(_ sender: UIButton) { _ = backFirstItemViewController() }
@IBAction func changeTabViewController(_ sender: UIButton) { _ = changeItemViewController(tabViewController) }
}import UIKit
import WWSideMenuViewController
class Page1ViewController: WWItemViewController {
@IBAction func diplayMenu(_ sender: UIBarButtonItem) { _ = displayMenu() }
}
class Tab1ViewController: WWItemViewController {
@IBAction func diplayMenu(_ sender: UIButton) { _ = displayMenu() }
}
class Tab2ViewController: WWItemViewController {
@IBAction func diplayMenu(_ sender: UIButton) { _ = displayMenu() }
}Package Metadata
Repository: william-weng/wwsidemenuviewcontroller
Default branch: main
README: README.md