快速创建频道选择器,先看看效果图是怎样吧:


你只需要一句代码就可以使用到频道选择器:
导入头文件 #import "YJChannelView.h"

当然你也可以标题的自定义文字,和位置
[channelV.PersonalHeader setSubtitleTitle:@"哈哈哈" forState:CurrentSubtitleStateNormal];
要是您想自定义按钮的样式也是可以的,你只需要修改我的写的警告标志的地方,便可以改成你需要的样式
说了这么多,现在说一下原理吧!!!

其实也就是用一个UIScrollView添加一下按钮和UIView,所有按钮都是一样的,只是展示的时候通过判断,是否要显示imagView,如果是是属于PersonalHeader的就不显示,否则就显示,通过计算每个按钮的frame自动布局。
给每个按钮添加手势,判断是否点击还是长按,通过闭包监听到,然后做出相应的处理(在闭包中一定要__weak typeof(self) wself = self;),即是刷新一下UIbutton的frame,使用UIView animateWithDuration 执行一下动画,就是这么简单,说白了就是更新一下数据组,刷新一下button的frame
有什么问题可以直接私聊我(可能有些地方写的还不够好,技术只用交流才会成长),有兴趣的可以下载我的源代码https://github.com/YJExpand/YJChannel
感谢各位看官老爷
网友评论