MenuNavigation
这是一个最简单的菜单导航仓库。
(这是一个最简用的菜单导航控制器。)
示例
要运行示例项目,请克隆仓库,然后首先从Example目录运行pod install
只需在UINavigationController中添加Menu
模型即可使用setMenu
(只需使用setMenu
在UINavigationController中添加Menu
模型即可。)
// Menu Model
struct Menu {
let titleName: String
let didSelect: (() -> Void)?
}
// Extension of UINavigationController
extension UINavigationController {
func setMenu(menu: [Menu], configuration: MenuConfiguration? = nil)
}
- demo.gif
- 示例代码
private func setMenuInNavigationController() {
let apple = Menu(titleName: "Apple") { [weak self] in
guard let `self` = self else {
return
}
self.selectedTitleLabel.text = "Apple"
self.selectedImageView.image = UIImage(named: "apple")
}
let banana = Menu(titleName: "Banana") { [weak self] in
guard let `self` = self else {
return
}
self.selectedTitleLabel.text = "Banana"
self.selectedImageView.image = UIImage(named: "banana")
}
let cantaloupe = Menu(titleName: "Cantaloupe") { [weak self] in
guard let `self` = self else {
return
}
self.selectedTitleLabel.text = "Cantaloupe"
self.selectedImageView.image = UIImage(named: "cantaloupe")
}
let durian = Menu(titleName: "Durian") { [weak self] in
guard let `self` = self else {
return
}
self.selectedTitleLabel.text = "Durian"
self.selectedImageView.image = UIImage(named: "durian")
}
let elderberries = Menu(titleName: "Elderberries") { [weak self] in
guard let `self` = self else {
return
}
self.selectedTitleLabel.text = "Elderberries"
self.selectedImageView.image = UIImage(named: "elderberries")
}
let configuration: MenuConfiguration = {
var configure = MenuConfiguration()
configure.title = "Select Fruits"
configure.isUseSelectedMenuTitle = true
return configure
} ()
navigationController?.setMenu(
menu: [
apple, banana, cantaloupe, durian, elderberries
],
configuration: configuration
)
}
- 您可以使用
MenuConfiguration
进行编辑
(您可以使用MenuConfiguration
进行编辑。)
struct MenuConfiguration {
/// NavigationBar's Title
var title: String?
/// NavigationBar's Title Font
var titleFont = UIFont(name: "HelveticaNeue-Medium", size: 17)
/// NavigationBar's Title Color
var titleTextColor = UIColor.black
/// NavigationBar's Tint Color
var navigationTintColor = UIColor.black
/// NavigationBar's Bar Tint Color
var navigationBarTintColor = UIColor.white
/// NavigationBar's isTranslucent
var navigationIsTranslucent = true
/// MenuView's Background Color
var menuViewBackgroundColor = UIColor.white
/// MenuView's Cell Background Color
var menuViewCellBackgroundColor = UIColor.white
/// MenuView's Cell Text Font
var menuViewCellFont = UIFont(name: "HelveticaNeue-Medium", size: 15)
/// MenuView's Cell Text Color
var menuViewCellTextColor = UIColor.black
/// MenuView's Cell Height
var menuViewCellHeight: CGFloat = 50
/// Use Selected Menu's Title as NavigationBar's Title
var isUseSelectedMenuTitle = false
}
需求
MenuNavigation需要iOS 10+并且与Swift 4.2项目兼容。
安装
您可以借助CocoaPods来使用MenuNavigation。要安装它,请简单地加入以下行到您的Podfile中
pod 'MenuNavigation'
作者
许可证
导航菜单可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。