菜单导航 0.1.0

MenuNavigation 0.1.0

ValidationTextField 维护。



MenuNavigation

CI Status Version License Platform

这是一个最简单的菜单导航仓库。

(这是一个最简用的菜单导航控制器。)

示例

要运行示例项目,请克隆仓库,然后首先从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

Demo 

  • 示例代码
  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'

作者

[email protected]

许可证

导航菜单可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。