OptionMenu 2.1.0

OptionMenu 2.1.0

Amr El-Sayed维护。



 
依赖
MaterialComponents/BottomSheet~> 110.1
Localize-Swift~> 3.1
 

  • 作者:
  • Amr Elsayed

OptionMenu

Version License Platform

显示选项菜单不应需要很多代码。此框架支持选项菜单的三种主题(材料设计底部面板,弹出,水平)。这意味着可以使用最少的代码配置来实现。

Screenshot Screenshot

用法

// Data Source

class MyOptionMenuDataSource : ListOptionsMenuDataSource {
    func optionsMenuTitle(_ optionsMenu: OptionsMenu) -> String? {
        return nil
    }
    
    func optionsMenuSubtitle(_ optionsMenu: OptionsMenu) -> String? {
        return nil
    }
    
    func optionsCount(_ optionsMenu: OptionsMenu) -> Int {
        return 5
    }
    
    func optionsMenu(_ optionsMenu: OptionsMenu, optionAtIndex index: Int) -> OptionsMenuItem? {
        return OptionsMenuItem(identifier: String(index),
                               title: "New Option Menu At \(index)",
                               imageName: "ic_optionmenu")    
    }
    
}


// Delegate

class MyOptionMenuDelegate : ListOptionsMenuDelegate {
    func optionsMenu(_ optionsMenu: OptionsMenu, didSelectOptionAtIndex index: Int) {
        print("Did select item at \(index)")
    }
}


// Style Customization

class MyOptionMenuDataStyle : ListOptionsMenuStyle {
    func optionsMenu(_ optionsMenu: OptionsMenu, fontForItemAtIndex index: Int) -> UIFont? {
       return UIFont.systemFont(ofSize: 14)
   }
   
   func optionsMenuBackgroundColor(_ optionsMenu: OptionsMenu) -> UIColor? {
       return UIColor.white
   }
 
   func optionsMenuTintColor(_ optionsMenu: OptionsMenu) -> UIColor? {
       return UIColor.black
   }
}

// Inside your View Controller

func show() {
    let myOptionMenu = OptionsMenu(parentViewController: self)
    myOptionMenu.behaviour = BottomSheetMenuDisplayBehaviour()
    myOptionMenu.style = MyOptionMenuDataStyle()
    myOptionMenu.dataSource = MyOptionMenuDataSource()
    myOptionMenu.delegate = MyOptionMenuDelegate()
    myOptionMenu.show(animated: true)
}

要求

iOS 10+

示例

要运行示例项目,克隆仓库,然后首先从示例目录运行pod install

安装

CocoaPods

OptionMenu可以通过CocoaPods获得。要安装它,只需将以下行添加到Podfile中

pod 'OptionMenu', '~> 2.1'

许可证

OptionMenu在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。