WaveMenu is an animated, custom menu view.
- iOS 10.0+
- Xcode 11+
- Swift 5.2+
WaveMenu is distributed with Swift Package Manager which is the only official distribution tool by Apple. You can add WaveMenu to your project from Xcode's File > Swift Packages > Add Package Dependency menu with its github URL:
https://github.com/mobven/WaveMenu.git
WaveMenu can initialize from storyboard or programmatically. WaveMenu gives an index of selected title attribute via WaveMenuDelegate, for doing this, menuDelegate has to set. Do not forget to set WaveMenu view backgroundColor attribute.
- titleNames -> Displayed menu items. (String Array)
- curveWidth -> Curve's bottom width. (Int)
- titleFont -> Menu item's font. (UIFont)
- menuTitleTextColor -> Menu item text color. (UIColor)
- menuTitleSelectedTextColor -> Selected menu item text color. (UIColor)
- curveFillColor -> Curve's fill color (UIColor)
- curveDotColor -> DotView color (UIColor)
- bottomViewPaddaing -> BottomView leading and trailing pading (CGFloat)
- programmaticallySelectedIndex -> Menu index that selected programmatically (Int)
-
Create a WaveMenu instance and add as a subview.
let topBar: WaveMenu = { let wm = WaveMenu() wm.backgroundColor = UIColor(red: 232/255, green: 35/255, blue: 55/255, alpha: 1.0) wm.titleNames = ["Budget", "Transaction", "Overview"] wm.curveWidth = 24 wm.titleFont = UIFont(name: "Noteworthy-Light", size: 15)! wm.menuTitleTextColor = .init(white: 1.0, alpha: 0.6) wm.menuTitleSelectedTextColor = .white wm.curveFillColor = .white return wm }()
override func viewDidLoad() { super.viewDidLoad() view.addSubview(topBar) topBar.menuDelegate = self // set constraints of topBar }
- Create a view from storyboard.
- Select view and set custom class in the identity inspector with
WaveMenu. - Can set @IBInspactable params in attribute inspector.
- Create an outlet and set attributes for WaveMenu instance.
- New animations for curve.
- Unit Tests.
Developed with 🖤 at Mobven

