【TabBar嵌套Navigation案例-自定义tabBar-封装 Objective-C语言】
2024/12/23 9:15:16
来源:https://blog.csdn.net/madoca/article/details/140768686
浏览:
次
关键词:【TabBar嵌套Navigation案例-自定义tabBar-封装 Objective-C语言】
一、再来说一个自定义tabbar的问题啊,
1.首先呢,这个tabbar,看起来好像效果是实现了,没有什么问题,但是说,从业务逻辑上来讲的话,这样做,是不太好的,
1)首先,我们去创建啊,我们自定义的一个UIView,
UIView里边,有很多子控件,那么这个子控件,应该是写在你这个View里边的,你创建的时候,应该是在View里边的,不应该在外面,在Controller里面去创建控件,这样做是不对的,包括你的点击事件啊,都应该抽出来一个,这个tabbar啊,这个UIView,
2)我们应该自定义一个UIView,然后把里面的一部分代码,都应该写到这个UIView里面,才行,理解我的意思吗,就跟那个tabbarController一样啊,你去加载,你给tabbarController去加载子控制器,
那么,你创建子控制器啊,加载子控制器啊,这些话,都应该写在tabbarController里边,
下面也是一样的,你给tabbar,给我自定义的某一个UIView,去添加5个btn,那么,这5个btn的创建,也应该在这个UIView里面,
2.所以,这个时候呢,我们新建一个View,
在主框架的View文件夹里面,我们去新建一个UIView,
继承的是UIView,叫做HMTabBar,
那么,接下来啊,我们就要抽啊,抽,实际上,说白了,就是把这里边的这一坨代码,剪切到这个HMTabBar里边,
你抽东西的时候,怎么着去抽,你假如说,有一个功能,可能抽的时候,感觉不好写,那么,你就先用这种方式,实现了,
然后,再一个一个往里去搬,
1)我们需要先把这个btn的创建,放到这个里边,
先来看看,btn都做了哪些事情,我们看看这坨代码,都做了哪些事情,
1)首先,我创建了5个btn,
2)然后,每一个btn,给它设置了frame,
这一段儿代码,就是在设置frame,所以这一段儿代码,我应该写在layoutSubview里面,
因为我要设置它子控件的布局,
所以呢,我现在,第一,这个btn,我设置了frame,
2)然后,第二件事儿,我给它设置了图片,
3)第三件事儿,我监听了这个btn,
4)第四件事儿,点击这个btn的时候,我把控制器给切换一下,
我现在做了这四件事儿,
然后呢,我一件一件的往里放,就行了,
1)首先,我创建btn的时候,这一句话,应该写在tabbar里边,
我现在呢,要给tabbar写一个方法,只要我一调这个方法,它就能够帮我自动的创建btn、自动的帮我去设置图片、自动的帮我去监听这个btn,
都在这一个方法里边去写,
这个时候,我现在在HMTabBar.h里边,先来写这么一个方法,
- (void)addButtonWith
我现在要把这两张图片,一块儿去传过来,
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com