好库网 好库网首页 | 我的好库
我是爱凤

类似SpringBoard效果(iOS源代码)

发布者:iphone
发布日期:2016-3-10 13:00:00   更新日期:2016-3-10 13:00:00
文件大小:2M
下载次数:19   浏览次数:465
评分:4.80

源码目录结构图

  • ._HCSpringBoard-master

介绍

来源: github/HCSpringBoard Licence: MIT
作者: indie顺其自然
说明

项目是个手机银行app,要求做一个仿照招商手机银行的最爱菜单功能,没有找到合适的轮子,就只能自己写个了。功能是在原有项目上做的(原来只能添加和删除),后来抽出来一个demo,因为逻辑较复杂,也没有花太多时间休整代码,复用程度不够高,但是按照下面我写的分析流程来集成该功能并没有什么困难。 希望朋友们帮我指正代码问题和bug。



准备工作

组织菜单数据结构在 HCAssistant 类中,配置一个菜单要显示的图片,菜单名称,是否默认显示,是否可删除,跳转页面等。



显示菜单

1,获取存到 NSUserDefaults 中的最爱菜单数据,如果没有,从配置中的全部菜单中筛选出默认要显示的数据,并存起来,有了数据之后就使用 HCSpringBoardView 类来生成菜单。 2,在 HCSpringBoardView 的初始化方法里,根据一页有几行几列,确定需要的页数,和需要的菜单 frame 并创建 UIScrollView 和 UIPageControl。在根据传进来的模型数组,判断是文件夹 HCFavoriteFolderModel 还是图标 HCFavoriteIconModel 分别创建对应的视图,HCFavoriteFolderView 或 HCFavoriteIconView 并设置代理。 这里的适配很简陋,不要做参考



模型类 HCFavoriteIconModel 和 HCFavoriteFolderModel

使用 YYModel 做的数据模型转换,很好用。

HCFavoriteIconModel image ,name , targetController等属性。 需要实现 NSCoding 协议用于序列化。HCFavoriteFolderModel 'folderName' 文件夹名称,'iconModelsFolderArray' 存该文件夹下的菜单模型,'iconViewsFolderArray' 存该文件夹下的菜单视图。 需要实现 NSCoding 协议用于序列化。



视图类 HCFavoriteIconView 和 HCFavoriteFolderView

HCFavoriteIconView 主要的是下面两个代理 favoriteIconDelegate favoriteIconLongGestureDelegate 例如:

@class HCFavoriteIconView;

@protocol HCFavoriteIconDelegate <NSObject>

- (void)deleteIconOfLoveIconView:(HCFavoriteIconView *)iconView;

- (void)pushPageOfLoveIconView:(HCFavoriteIconView *)iconView;

- (void)intoEditingModeOfLoveIconView:(HCFavoriteIconView *)iconView;

@optional

- (void)addIconOfLoveIconView:(HCFavoriteIconView *)iconView;

@end

@protocol HCFavoriteIconLongGestureDelegate <NSObject>

- (void)longGestureStateBegin:(UILongPressGestu

评论

账号 密码 还没帐号呢,现在注册一个?



免责声明:好库网所展示的信息由发布者自行提供,其真实性、准确性和合法性由信息发布人负责。好库网不提供任何保证,并不承担任何法律责任。