码迷,mamicode.com
首页 > 移动开发 > 详细

IOS 下拉菜单复用

时间:2015-10-30 18:57:40      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

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

 1 //
 2 //  XWDropdownMenu.h
 3 //  XWReusableCodeLib
 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 @required
15 /**
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 @optional
30 /**
31  *  主表格每一行 分类数量
32  *  @param row          行号
33  */
34 - (NSString *)dropdownMenu:(XWDropdownMenu *)dropdownMenu countForRowInMainTable:(NSInteger)row;
35 /**
36  *  子表格每一行子数据 分类数量
37  *  @param row          行号
38  */
39 - (NSArray *)dropdownMenu:(XWDropdownMenu *)dropdownMenu subdataCountForRowInSubTable:(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 @end
51 
52 #pragma mark 代理方法
53 @protocol XWDropdownMenuDelegate <NSObject>
54 
55 @optional
56 - (void)dropdownMenu:(XWDropdownMenu *)dropdownMenu didSelectRowInMainTable:(NSInteger)row;
57 - (void)dropdownMenu:(XWDropdownMenu *)dropdownMenu didSelectRowInSubTable:(NSInteger)subrow inMainTable:(NSInteger)mainRow;
58 
59 @end
60 
61 #pragma mark 构造方法
62 @interface XWDropdownMenu : UIView
63 + (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

技术分享

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

IOS 下拉菜单复用

标签:

原文地址:http://www.cnblogs.com/Lingchen-start/p/4923837.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!