screenDemo.gif
PopupMenu
是仿照YBPopupMenu所寫的Swift版本,對原版本進行了適當的修改
使用說明:
-
PopupMenu
使用類方法調用 -
PopupMenu
提供代理 block 代理和block混合使用,總共對外開放了六個接口生成實例,推薦使用block -
PopupMenu
不出意外,應該會有bug未發現,如有發現,請自行解決
method.png
使用示例:
var popupMenu : PopupMenu?
let TITLES = ["修改", "刪除", "掃一掃","付款"]
let ICONS = ["motify","delete","saoyisao","pay"]
// block 無設置delegate
@IBAction func topLeftBtnPopupMenueClick(_ sender: Any) {
PopupMenu.showRelyOnView(view: sender as! UIView, titles: TITLES, icons: ICONS, menuWidth: 120, didSelectRow: { (index, value, popupMenu) in
print("索引是: \(index)值是: \(value)")
}) { (popupMenu) in
popupMenu.backColor = UIColor.lightGray
popupMenu.separatorColor = UIColor.white
popupMenu.priorityDirection = PopupMenuPriorityDirection.none
popupMenu.borderWidth = 1
popupMenu.borderColor = UIColor.red
popupMenu.rectCorner = [.bottomRight,.bottomLeft]
}
}
// 使用了代理和block混合
@IBAction func topRightBtnPopupMenueClick(_ sender: Any) {
PopupMenu.showRelyOnView(view: sender as! UIView, titles: TITLES, icons: ICONS, menuWidth: 120, delegate: self) { (popupMenu) in
popupMenu.priorityDirection = PopupMenuPriorityDirection.none
popupMenu.borderWidth = 1
popupMenu.borderColor = UIColor.red
// popupMenu.rectCorner = [.bottomRight,.bottomLeft]
}
}
extension ViewController : PopupMenuDelegate{
func popupMenuDidSelected(index: NSInteger, popupMenu: PopupMenu) {
if popupMenu.tag == 111 {
print(["111","222","333","444","555","666","777","888"][index])
}else{
print(TITLES[index])
}
}
}
需要高度自定義時候,可選代理方法
@objc func popupMenuDidSelected(index : NSInteger,popupMenu: PopupMenu)
@objc optional func popupMenuBeganDismiss()
@objc optional func popupMenuDidDismiss()
@objc optional func popupMenuBeganShow()
@objc optional func popupMenudidShow()
Swift4PopupMenuDemo下載鏈接
Objective-CYBPopupMenu下載鏈接