九天猎人 发表于 2025-2-19 03:59:45

【TabBar嵌套Navigation案例-自界说tabBar-封装 Objective-C语言】

一、再来说一个自界说tabbar的题目啊,

https://i-blog.csdnimg.cn/direct/3824438879054546ba0abc6233587827.png#pic_center
1.起首呢,这个tabbar,看起来好像效果是实现了,没有什么题目,但是说,从业务逻辑上来讲的话,这样做,是不太好的,

1)起首,我们去创建啊,我们自界说的一个UIView,

https://i-blog.csdnimg.cn/direct/6239317949804ae4b5b6c94e30df2c02.png#pic_center
UIView里边,有很多子控件,那么这个子控件,应该是写在你这个View里边的,你创建的时候,应该是在View里边的,不应该在表面,在Controller内里去创建控件,这样做是不对的,包括你的点击事件啊,都应该抽出来一个,这个tabbar啊,这个UIView,

https://i-blog.csdnimg.cn/direct/9396edeaee6547bfa964769e4b429273.png#pic_center
2)我们应该自界说一个UIView,然后把内里的一部分代码,都应该写到这个UIView内里,才行,理解我的意思吗,就跟那个tabbarController一样啊,你去加载,你给tabbarController去加载子控制器,

https://i-blog.csdnimg.cn/direct/cf19d19352d94f729a6af355ab51e26e.png#pic_center
那么,你创建子控制器啊,加载子控制器啊,这些话,都应该写在tabbarController里边,

下面也是一样的,你给tabbar,给我自界说的某一个UIView,去添加5个btn,那么,这5个btn的创建,也应该在这个UIView内里,

2.以是,这个时候呢,我们新建一个View,

在主框架的View文件夹内里,我们去新建一个UIView,

https://i-blog.csdnimg.cn/direct/cd8ecb8d2d33439dbc438bd11ed51a14.png#pic_center
继承的是UIView,叫做HMTabBar,

那么,接下来啊,我们就要抽啊,抽,实际上,说白了,就是把这里边的这一坨代码,剪切到这个HMTabBar里边,

https://i-blog.csdnimg.cn/direct/ec05894558f34e6594c140a5cb740934.png#pic_center
你抽东西的时候,怎么着去抽,你如果说,有一个功能,大概抽的时候,感觉不好写,那么,你就先用这种方式,实现了,

https://i-blog.csdnimg.cn/direct/4623823a2b4d442e836c8ff1b463fbd1.png#pic_center
然后,再一个一个往里去搬,

1)我们需要先把这个btn的创建,放到这个里边,

https://i-blog.csdnimg.cn/direct/6cd76cf4a69d4f1a927db82ac0b45532.png#pic_center
先来看看,btn都做了哪些事变,我们看看这坨代码,都做了哪些事变,

1)起首,我创建了5个btn,

2)然后,每一个btn,给它设置了frame,

https://i-blog.csdnimg.cn/direct/b90727635177432cb25b24737cee9642.png#pic_center
这一段儿代码,就是在设置frame,以是这一段儿代码,我应该写在layoutSubview内里,

由于我要设置它子控件的布局,

以是呢,我现在,第一,这个btn,我设置了frame,

2)然后,第二件事儿,我给它设置了图片,

https://i-blog.csdnimg.cn/direct/0e7e49f5b82f4921ae63f58df23e67b1.png#pic_center
3)第三件事儿,我监听了这个btn,

https://i-blog.csdnimg.cn/direct/e3eb0a9e90ec4b9fbda7827007eb7cde.png#pic_center
4)第四件事儿,点击这个btn的时候,我把控制器给切换一下,

https://i-blog.csdnimg.cn/direct/0e4401799760425694829a27852f89ad.png#pic_center
我现在做了这四件事儿,

然后呢,我一件一件的往里放,就行了,

1)起首,我创建btn的时候,这一句话,应该写在tabbar里边,

https://i-blog.csdnimg.cn/direct/0ad5aa0b646c4670a97f856d4138d755.png#pic_center
我现在呢,要给tabbar写一个方法,只要我一调这个方法,它就能够帮我主动的创建btn、主动的帮我去设置图片、主动的帮我去监听这个btn,

都在这一个方法里边去写,

这个时候,我现在在HMTabBar.h里边,先来写这么一个方法,

- (void)addButtonWith

我现在要把这两张图片,一块儿去传过来,



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【TabBar嵌套Navigation案例-自界说tabBar-封装 Objective-C语言】