iOS开发解析tabbar中的凸起按钮

释放双眼,带上耳机,听听看~!

你是否看到过这样的tabbar:

中间是一个凸起的tabbar,一开始博主这么想的:
1.在tabbar上增加一个按钮,但是我们知道,如果按钮大小超出superView的范围将会失去响应,这里要注意,只是超出去的部分失去响应,未超出部分依然响应。也许不少人都这么想过,但是在实际操作中会被pass掉。
2.封装tabbar的时候让tabbar高度高一些,虽然解决了问题,但实际上在突出部分到正常按钮顶部的空白区域为不可点击区域,下面的视图虽然可见,但却不可点,虽然只有几十像素区域,但体验上并不是很好,像这样的:

这块红色区域为不可点击区域。

3.这是一个可行方案,既然是封装的tabbar,需要手动add到tabbar的VC,大多数封装的都是这样,何不算好距离,把凸起的按钮直接加在tabbar的VC中:

  [_myTabbar creatLHHTabbarWithBackGroundImage:nil orUseBackGroundView:YES ifUseBGViewWithColor:[UIColor orangeColor] withViewControllerArray:_vcArray withNormalImageArray:_normalImageArray withSelectImageArray:_selectImagerray withTabbarItemTitleArray:_tabbarTitleArray withTarget:self withSelector:@selector(itemAction:)];
[_tabbar.view addSubview:_myTabbar];
[self.view addSubview:_tabbar.view];
//凸起按钮
UIButton *tuBtn = [UIButton buttonWithType:UIButtonTypeContactAdd];
tuBtn.frame = CGRectMake(0, 0, 80, 80);
tuBtn.layer.cornerRadius = 40;
tuBtn.backgroundColor = [UIColor orangeColor];
tuBtn.center = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height - 40);
[tuBtn addTarget:self action:@selector(tuAction) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:tuBtn];

在创建tabbar的时候直接add到self.view上,覆盖中间的空缺位置。但是其他几个按钮的位置需要提前算好,详细的见代码:点击下载

人已赞赏
iOS文章

iOS开发写出漂亮的block

2021-2-2 18:07:22

iOS文章

iOS开发自定义封装按钮

2021-2-2 19:22:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索