首页 > 学院 > 开发设计 > 正文

IOS下拉菜单复用

2019-11-14 18:03:02
字体:
来源:转载
供稿:网友

  由于之前曾经用到过下拉菜单,所以现在花一些时间回过头来细细整理了一下,逐步完善这个下拉菜单,并提供一些比较基本的功能,以便日后如果有需要的话可以进行复用,并提供给需要的人参考。下拉菜单同样分为数据源和代理方法,提供以下方法:

 1 // 2 //  XWDropdownMenu.h 3 // 4 // 5 //  Created by xiao on 15/10/30. 6 //  Copyright © 2015年 xiao. All rights reserved. 7 //  下拉菜单 8  9 #import <UIKit/UIKit.h>10 11 @class XWDropdownMenu;12 #PRagma mark 数据源方法13 @protocol XWDropdownMenuDataSource <NSObject>14 @required15 /**16  *  主表格一共有多少行17  */18 - (NSInteger)numberOfRowsInMainTable:(XWDropdownMenu *)dropdownMenu;19 /**20  *  主表格每一行的标题21  *  @param row          行号22  */23 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu titleForRowInMainTable:(NSInteger)row;24 /**25  *  主表格每一行的子数据 根据数组显示子表每行内容26  *  @param row          主表行号27  */28 - (NSArray *)dropdownMenu:(XWDropdownMenu *)dropdownMenu subdataForRowInMainTable:(NSInteger)row;29 @optional30 /**31  *  主表格每一行 分类数量32  *  @param row          行号33  */34 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu countForRowInMainTable:(NSInteger)row;35 /**36  *  子表格每一行子数据 分类数量 根据数组显示子表每行提示数字37  *  @param row          主表行号38  */39 - (NSArray *)dropdownMenu:(XWDropdownMenu *)dropdownMenu subdataCountForRowInMainTable:(NSInteger)row;40 /**41  *  主表格每一行的图标42  *  @param row          行号43  */44 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu iconForRowInMainTable:(NSInteger)row;45 /**46  *  主表格每一行的选中图标47  *  @param row          行号48  */49 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu selectedIconForRowInMainTable:(NSInteger)row;50 @end51 52 #pragma mark 代理方法53 @protocol XWDropdownMenuDelegate <NSObject>54 55 @optional56 - (void)dropdownMenu:(XWDropdownMenu *)dropdownMenu didSelectRowInMainTable:(NSInteger)row;57 - (void)dropdownMenu:(XWDropdownMenu *)dropdownMenu didSelectRowInSubTable:(NSInteger)subrow inMainTable:(NSInteger)mainRow;58 59 @end60 61 #pragma mark 构造方法62 @interface XWDropdownMenu : UIView63 + (instancetype)dropdownMenu;64 -(void)refreshMenu;65 66 @property (nonatomic, weak) id<XWDropdownMenuDataSource> dataSource;67 @property (nonatomic, weak) id<XWDropdownMenuDelegate> delegate;68 69 /**主表被选中的字体颜色,默认是黑色*/70 @property (strong, nonatomic) UIColor *selectedRowTextColor;71 /**该属性设置成YES,主表较小*/72 @property (nonatomic, assign)BOOL isMainTableSmall;73 @end

 由于还是有一些代码的,无法在这里将所有代码贴出,只能罗列出各个方法并添加注释,并附上简单的demo和效果图

demo地址:https://github.com/xiaoyeying/XWDropdownMenuDemo.git

 最后如有不足之处欢迎指正和批评,一起学习~~


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表