博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS 下拉菜单
阅读量:5325 次
发布时间:2019-06-14

本文共 2409 字,大约阅读时间需要 8 分钟。

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

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 
10 11 @class XWDropdownMenu;12 #pragma mark 数据源方法13 @protocol XWDropdownMenuDataSource
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
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
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和效果图

demo地址:

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

转载于:https://www.cnblogs.com/Lingchen-start/p/4923837.html

你可能感兴趣的文章
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
界面交互之支付宝生活圈pk微信朋友圈
查看>>
字符串比较
查看>>
epoll 技术(转)
查看>>
<转>Shell脚本相关
查看>>
使用FreeMarker加载远程主机上模板文件,比如FTP,Hadoop等(转载)
查看>>
Java的位运算符具体解释实例——与(&amp;)、非(~)、或(|)、异或(^)
查看>>
java 注解 学习
查看>>
[leetcode]403. Frog Jump青蛙过河
查看>>
英语音节知识
查看>>
IEEE 802.15.4协议学习之MAC层
查看>>
AngularJS学习篇(十三)
查看>>
Tableau 学习资料
查看>>
中断和异常
查看>>