登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

查看: 226|回复: 6

IOS 下拉菜单复用,ios10下拉菜单设置

[复制链接]

309

主题

610

帖子

2467

金钱

手工艺人

发表于 2018-1-11 15:25:15 | 显示全部楼层 |阅读模式

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

        

        

[Java] 查看源文件 复制代码
 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 
10 
11 #class XWDropdownMenu;
12 #pragma mark 数据源方法
13 #protocol XWDropdownMenuDataSource 
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 
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 dataSource;
67 #property (nonatomic, weak) id delegate;
68 
69 /**主表被选中的字体颜色,默认是黑色*/
70 #property (strong, nonatomic) UIColor *selectedRowTextColor;
71 /**该属性设置成YES,主表比较小*/
72 #property (nonatomic, assign)BOOL isMainTableSmall;
73 #end

        


        

        

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

        

        

        


                                               

16

主题

7203

帖子

1630

金钱

手工艺人

发表于 2018-1-11 15:30:53 | 显示全部楼层
写的真的很不错

15

主题

7167

帖子

1798

金钱

手工艺人

发表于 2018-1-11 15:34:31 | 显示全部楼层
感谢大神分享,必须顶!

21

主题

7219

帖子

2762

金钱

手工艺人

发表于 2018-1-11 15:38:26 | 显示全部楼层
感谢大神分享,必须顶!

21

主题

7187

帖子

2812

金钱

手工艺人

发表于 2018-1-11 15:41:35 | 显示全部楼层
code4app好的内容真的很多~赞

23

主题

7171

帖子

1047

金钱

iOS大神

Rank: 6Rank: 6

分享大神

发表于 2018-1-11 15:49:40 | 显示全部楼层
虽不明,但觉厉...

0

主题

7164

帖子

-535

金钱

限制会员

发表于 2018-1-11 15:50:38 | 显示全部楼层
学习...学习...
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表