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

简介: iOS开发 - 解析tabbar中的凸起按钮

你是否看到过这样的tabbar:

1.png

中间是一个凸起的tabbar,一开始博主这么想的:


1.在tabbar上增加一个按钮,但是我们知道,如果按钮大小超出superView的范围将会失去响应,这里要注意,只是超出去的部分失去响应,未超出部分依然响应。也许不少人都这么想过,但是在实际操作中会被pass掉。


2.封装tabbar的时候让tabbar高度高一些,虽然解决了问题,但实际上在突出部分到正常按钮顶部的空白区域为不可点击区域,下面的视图虽然可见,但却不可点,虽然只有几十像素区域,但体验上并不是很好,像这样的:

1.png

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


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

目录
相关文章
|
3天前
|
SQL 存储 关系型数据库
数据库开发之图形化工具以及表操作的详细解析
数据库开发之图形化工具以及表操作的详细解析
19 0
|
3天前
|
SQL 存储 关系型数据库
数据库开发之mysql前言以及详细解析
数据库开发之mysql前言以及详细解析
14 0
|
27天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
62 1
|
7天前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
【4月更文挑战第18天】**Cocoa Touch** 是iOS和Mac OS X应用的核心框架,包含面向对象库、运行时系统和触摸优化工具。它提供Mac验证的开发模式,强调触控接口和性能,涵盖3D图形、音频、网络及设备访问API,如相机和GPS。是构建高效iOS应用的基础,对开发者至关重要。
11 0
|
14天前
|
监控 测试技术 Android开发
移动应用与系统:开发与操作系统的深度解析
【4月更文挑战第11天】在这篇文章中,我们将深入探讨移动应用的开发过程,以及移动操作系统如何影响这些应用的性能和功能。我们将详细分析移动应用开发的关键步骤,包括需求分析、设计、编码、测试和维护。同时,我们也将探讨移动操作系统,如Android和iOS,如何为应用开发提供支持,并影响其性能。
|
22天前
|
开发工具 Swift iOS开发
利用SwiftUI构建动态用户界面:iOS开发新范式
【4月更文挑战第3天】 随着苹果不断推进其软件开发工具的边界,SwiftUI作为一种新兴的编程框架,已经逐渐成为iOS开发者的新宠。不同于传统的UIKit,SwiftUI通过声明式语法和强大的功能组合,为创建动态且响应式的用户界面提供了一种更加简洁高效的方式。本文将深入探讨如何利用SwiftUI技术构建具有高度自定义能力和响应性的用户界面,并展示其在现代iOS应用开发中的优势和潜力。
|
27天前
|
机器学习/深度学习 搜索推荐 vr&ar
移动应用与系统的未来:从开发到操作系统的全面解析
本文将探讨移动应用和系统的未来,包括移动应用开发的趋势,移动操作系统的进展,以及这两者如何相互影响。我们将深入探讨如何通过理解这些变化,来优化移动应用的性能和用户体验。
10 2
|
8天前
yolo-world 源码解析(六)(2)
yolo-world 源码解析(六)
18 0
|
8天前
yolo-world 源码解析(六)(1)
yolo-world 源码解析(六)
12 0
|
9天前
yolo-world 源码解析(五)(4)
yolo-world 源码解析(五)
22 0

推荐镜像

更多