源码简介:我在此基础上美化来了界面,添加了双列表的应用,优化了代码,增强了稳定性,希望大家喜欢,喜欢的话就去给个星星吧 ;-)
源码效果:
源码片段:
- #pragma mark - data source protocol
- @class DOPDropDownMenu;
- @protocol DOPDropDownMenuDataSource <NSObject>
- @required
- /**
- * 返回 menu 第column列有多少行
- */
- - (NSInteger)menu:(DOPDropDownMenu *)menu numberOfRowsInColumn:(NSInteger)column;
- /**
- * 返回 menu 第column列 每行title
- */
- - (NSString *)menu:(DOPDropDownMenu *)menu titleForRowAtIndexPath:(DOPIndexPath *)indexPath;
- @optional
- /**
- * 返回 menu 有多少列 ,默认1列
- */
- - (NSInteger)numberOfColumnsInMenu:(DOPDropDownMenu *)menu;
- /** 新增
- * 当有column列 row 行 返回有多少个item ,如果>0,说明有二级列表 ,=0 没有二级列表
- * 如果都没有可以不实现该协议
- */
- - (NSInteger)menu:(DOPDropDownMenu *)menu numberOfItemsInRow:(NSInteger)row column:(NSInteger)column;
- /** 新增
- * 当有column列 row 行 item项 title
- * 如果都没有可以不实现该协议
- */
- - (NSString *)menu:(DOPDropDownMenu *)menu titleForItemsInRowAtIndexPath:(DOPIndexPath *)indexPath;
- @end
- #pragma mark - delegate
- @protocol DOPDropDownMenuDelegate <NSObject>
- @optional
- /**
- * 点击代理,点击了第column 第row 或者item项,如果 item >=0
- */
- - (void)menu:(DOPDropDownMenu *)menu didSelectRowAtIndexPath:(DOPIndexPath *)indexPath;
- @end