demo小知识点好东西

iOS仿微信、支付宝首页下拉菜单选择视图

2017-09-02  本文已影响3359人  小小提莫酱
心之所向.jpg

效果图展示、自动优化位置(上拉、下拉、左偏、右偏)

ZWPullMenuView.gif

下拉菜单组件化封装的需求

项目开发初期、需求并不明确、没有统一的下拉菜单样式。多人协作开发、封装了多个组件模板且没有与具体业务隔离。下拉菜单位置不定,导致需要左偏、右偏、下拉、上拉多种显示模式出现。

ZWPullMenuView自动优化位置显示、箭头指向

ZWPullMenuView初始化方法

/**
 *  anchorView:下拉依赖视图[推荐初始化]
 *  箭头指向依赖视图
 *  titleArray:文字
 *  imageArray:icon
 *  menuArray:图文Model
 */
+ (instancetype)pullMenuAnchorView:(UIView *)anchorView;
+ (instancetype)pullMenuAnchorView:(UIView *)anchorView titleArray:(NSArray *)titleArray;
+ (instancetype)pullMenuAnchorView:(UIView *)anchorView titleArray:(NSArray *)titleArray imageArray:(NSArray *)imageArray;
+ (instancetype)pullMenuAnchorView:(UIView *)anchorView menuArray:(NSArray<ZWPullMenuModel *> *)menuArray;
/**
 *  anchorView:下拉依赖绝对坐标
 *  指定坐标下拉
 *  箭头指向点
 *  titleArray:文字
 *  imageArray:icon
 *  menuArray:图文Model
 */
+ (instancetype)pullMenuAnchorPoint:(CGPoint)anchorPoint;
+ (instancetype)pullMenuAnchorPoint:(CGPoint)anchorPoint titleArray:(NSArray *)titleArray;
+ (instancetype)pullMenuAnchorPoint:(CGPoint)anchorPoint titleArray:(NSArray *)titleArray imageArray:(NSArray *)imageArray;
+ (instancetype)pullMenuAnchorPoint:(CGPoint)anchorPoint menuArray:(NSArray<ZWPullMenuModel *> *)menuArray;

ZWPullMenuView自定义参数设置

typedef NS_ENUM(NSInteger, ZWPullMenuStyle) {
    PullMenuDarkStyle = 0,  //类微信、黑底白字
    PullMenuLightStyle      //类支付宝、白底黑字
};
/** 
 *  pullMenu样式
 */
@property (nonatomic, assign) ZWPullMenuStyle zwPullMenuStyle;

Menu点击事件

/**
 *  click
 */
@property (nonatomic, copy) BlockSelectedMenu blockSelectedMenu;
selected.png

ZWPullMenuView调用方法

基本用法.png

如何使用SDK

强烈建议您使用pod导入,节省导入依赖的时间。

pod 'ZWPullMenuView'
#import "ZWPullMenuView.h"

源码

源码放在GitHub上,欢迎指正,记得star哦!

上一篇 下一篇

猜你喜欢

热点阅读