iOS 多级菜单控件

这篇博客介绍了如何创建一个名为YCIMutilevelMenu的多级菜单控件,该控件具有良好的可扩展性和支持请求加载、默认选中、置顶选项等功能。通过解耦设计,实现了多级菜单与选项、菜单之间的独立性,方便进行样式扩展。文章提供了详细的使用步骤和注意事项,并提到了可以自定义选项类型和菜单视图。
摘要由CSDN通过智能技术生成

preview

七月多写的一个控件,一直想着写篇总结的.先拿使用说明占个位置,之后再补吧.

下载:

https://github.com/YanChen-ing/YCIMutilevelMenuDemo.git

YCIMutilevelMenu

控件名: 多级菜单
继承: UIView

概述


依据上级菜单选中项,展示下级菜单.具有良好的可扩展性,并支持请求加载,默认选中,置顶选项等功能.

设计


基本原理

多级菜单视图,包含两种基本元素:

  • 选项 (option)

    保存展开菜单的信息的模型.

  • 菜单 (menu)

    选项展开后,对应的样式.

多级菜单中,持有显示数组(displayingOptions displayingMenus).通过改变数组元素,并调用- refreshViewsFrame刷新界面显示.

解耦

为使多级菜单具有良好的可扩展性.通过以下方式解耦:

多级菜单 – 选项

YCIMenuOptionConfig.plist保存对应type信息.

通过type,使用option工厂方法创建option.

多级菜单 – 菜单

通过option的属性menuClassName 获得,并创建对应menu.

@protocol YCIMenuDelegate:菜单调用多级菜单的方法

@protocol YCIMenuProtocol:多级菜单调用菜单的方法

用法


使用

0.准备

对于使用多级菜单,一般为较多且复杂的选项组.因此建议使用json文件存储选项内容.通过option的方法+ menuOptionWithJsonFile:生成选项.

1.引入头文件
#import "YCIMutilevelMenu.h"
2.创建多级菜单
- (YCIMutilevelMenu *)MLMenu{

    if (!_MLMenu) {

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值