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上,覆盖中间的空缺位置。但是其他几个按钮的位置需要提前算好,详细的见代码:点击下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingFire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值