首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从iOS获取外壳TabBar高度

获取iOS外壳TabBar高度有以下几种方法:

  1. 使用UIKit框架中的UITabBarController: UITabBarController是iOS中用于管理TabBar的控制器,可以通过访问其tabBar属性来获取TabBar的高度。代码示例如下:
代码语言:txt
复制
if let tabBarController = UIApplication.shared.delegate?.window??.rootViewController as? UITabBarController {
    let tabBarHeight = tabBarController.tabBar.frame.size.height
    // 处理获取到的高度
}

优势:简单快速,无需导入其他框架。

  1. 使用UIApplication的keyWindow属性: 可以通过UIApplication的keyWindow属性来获取应用程序中当前显示的窗口,然后再访问其rootViewController属性获取到TabBarController,最后通过访问其tabBar属性来获取TabBar的高度。代码示例如下:
代码语言:txt
复制
if let tabBarController = UIApplication.shared.keyWindow?.rootViewController as? UITabBarController {
    let tabBarHeight = tabBarController.tabBar.frame.size.height
    // 处理获取到的高度
}

优势:无需导入其他框架。

  1. 使用UIView的safeAreaInsets属性: iOS 11及以上版本引入了安全区域的概念,可以通过访问UIView的safeAreaInsets属性来获取到不受系统状态栏、导航栏、工具栏等影响的安全区域,进而计算得到TabBar的高度。代码示例如下:
代码语言:txt
复制
if let keyWindow = UIApplication.shared.keyWindow {
    let tabBarHeight = keyWindow.safeAreaInsets.bottom
    // 处理获取到的高度
}

优势:适用于iOS 11及以上版本,可以适应不同设备和系统的安全区域。

以上是获取iOS外壳TabBar高度的几种常见方法。根据具体的使用场景和需求,选择合适的方法来获取TabBar的高度,以便进行后续的开发和布局。

(腾讯云相关产品和产品介绍链接地址暂时无法提供,请见谅。)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • iOS小技能:设置状态栏背景颜色(图片)

    但是如果有状态是有透明或者半透明的效果,上面这个方法还是不能胜任,越透明越明显;经过一番查找,终于发现问题: 问题: 1、iOS 13之前,可以通过valueForKey 获取UIApplication...13.0, *)) { //iOS 13不允许使用valueForKey、setValue: forKey获取和设置私有属性; dispatch_once(&onceToken, ^...; NSLog(@"导航栏高度:%f",navHeight); //获取tabBar高度 //1.在tabBarController中使用(你的继承自UITabBarController的VC) CGFloat...tabBarHeight = self.tabBar.frame.size.height; NSLog(@"tabBar高度:%f",tabBarHeight); //2.在非tabBarController...; NSLog(@"tabBar高度:%f",tabBarHeight); see also iOS13适配暗黑模式方案:1、设置app不支持Dark Mode 2、制定深色模式开发规范 https:

    1.9K40

    手机QQ空间iPhone X适配总结

    自去年9月12日苹果发布会发布iPhone X之后,新颖的设计虽然引来不少骂声,但也给iOS设计和开发者带来了新的挑战,本文总结了iOS QQ空间对iPhone X适配过程遇到的问题和解决手段。...不过庆幸的是,空间代码大部分都用宏来获取状态栏高度,然后我们现在将宏改为通过函数返回高度即可,如下图所示。...前者可能是图片、文字等信息,而后者大多是button等控件,如上图的tabbar,我们就需要将其往上提,该区域高度为34pt,获取方法如下所示,由于用到了safeArea,需要加上iOS11的判断。...需要注意的坑 关于TabBar高度,在VC的viewWillAppear中获取到的是默认原始高度49,而到了viewDidAppear时获取到的高度为83,这就导致了在popVC时可能底部tabbar发生一个从下到上的跳动...,这时我们需要在viewWillAppear重新设置一下tabbar高度

    1.8K30

    iOS开发笔记(九)— 数据库、Crash、内存问题分析

    正文 1、iOS 11的UITabbar的高度异常 问题描述:iOS 11+iPhone,在横竖屏切换的场景下,UITabbarViewController的底部栏UITabbar会出现高度异常。...问题定位:经过调试发现,竖屏到横屏的时候,系统会改变UITabbar的高度;而我们的底部栏高度是自定义的值,故而会导致系统修改后的高度与自定义值不相同的情况。...= KSTabBarHeight) { self.tabBar.height = KSTabBarHeight; self.tabBar.bottom =...后记: 该问题只出现在iOS 8。在iOS 11的机型上,通过调试我们可以获取到self.data=...这一行在执行时,关于self的内存引用情况: ?...而在加入新公司的第二个年头,我慢慢已经在iOS上的收获越来越少。 笔记的新增情况来看,就可以发现:每天大多数是重复性劳动! 尝试看过一些iOS相关的书籍,但总感觉收获不大。

    90220

    iOS_其他App获取文件、分享文件给其他App

    一、其他App获取文件:官方文档 第一步: 让自己的App显示在系统的分享列表里:需要修改 *.plist 文件 Key为:CFBundleDocumentTypes Value是:数组,可以包含n个字典...>com.apple.pef-binary 然后就可以.bin文件的分享列表里看到自己的app了,如图: 第二步:获取文件...当其他app分享文件过来时,会调用: // MARK: - 其他app分享过来时回调 func scene(_ scene: UIScene, openURLContexts URLContexts...) { print("openURLContexts:\(URLContexts)") } 保存的位置:会在Document下新建一个Inbox文件夹,分享过来的文件都会存在这个文件夹下: // 获取...Document/Inbox 里其他app分享过来的文件 let manager = FileManager.default let urlForDocument = manager.urls(for

    2K10

    精品资源汇总:(持续更新)

    article/details/112976838 2、应用场景:商品详情页以及需要展示大量图片的界面 3、核心原理 : 3.1)按照图片的原来宽高比进行缩 3.2)UICollectionView的高度自适应...app侧对请求参数进行签名:【请求参数按照ASCII码从小到大排序、拼接、加密】(递归的方式进行实现) 1、CSDN下载demo地址:https://download.csdn.net/download...中tabBar按钮再次点击实现界面刷新 video iOStabBar按钮再次点击实现界面刷新(包含完整demo)【特色功能:在更新数据期间旋转tabbar的icon】 iOStabBar按钮再次点击实现界面刷新...当进入首页时提示用户再次点击tabBar可刷新界面数据 2、刷新数据当同时旋转tabbar的图片 CSDN下载完整地址demo :https://download.csdn.net/download/...,并自动适应高度)文中包含完整demo源码 3、iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1

    1K30

    关于刘海打理这种事儿,美团点评的iOS工程师早就有经验了,不信你看!

    图2.4 iPhone X 的显示区域 Status Bar iPhone X 上的 StatusBar 高度比之前的 iPhone 高一些,也就是说,我们如果写死20pt高度的 frame 布局...图2.5 iPhone X 的状态栏高度 "如果你的 App 是隐藏 StatusBar 的,建议重新考虑。...另外还有一点,用户在使用 iPhone X 打电话的时候,StatusBar 的高度也不会发生变化了。...图2.6 iPhone X 的 Home Indicator 区域 “如果你的底部是 TabBar,那么 Home Indicator 背景会来自于 TabBar 背景的延伸,如果我们是一个 feed...图2.7 有 TabBar 的 Home Indicator 区 SafeArea iOS 11 废弃了 iOS 7 之后出现的 topLayoutGuide/bottomLayoutGuide,取而代之的是

    2.1K70

    iOS开发·适配iPhone X相关的宏和方法

    过了好久,今天终于有时间总结一下适配iPhone X相关的坑,总的来说有两类坑,一个是导航栏+状态栏的高度发生了变化,一个是一些没有实现实现-tableView: viewForHeaderInSection...灵活返回状态栏+导航栏的高度 需求:灵活得到导航栏+状态栏的高度,作为一个子视图Y轴的起点。...拓展:获得iOS系统与App版本信息 获取iOS系统版本号:返回字符串 + (NSString *)getSystemVersion{ return [[UIDevice currentDevice...] systemVersion]; } 获取App版本号:返回字符串 + (NSString *)getAppVersion{ NSDictionary *infoDic = [[NSBundle...(self.view) } 当然,一般除了tabbar不能放在这个底部虚拟home区,其它的视图tableView视图或者网页视图时可以放在底部虚拟home区中的。

    1.3K40

    iOS支付项目实践专栏- 总目录(持续更新)

    逆向】,进行获取 ?...:https://kunnan.blog.csdn.net/article/details/108195721 3、应用场景:防止请求参数被恶意修改 4.2 敏感逻辑的保护方案 案例:js根据key本地方法获取设备及签名信息...3、应用场景:解决扩展和容器应用的实时通讯问题 VI、iOStabBar按钮再次点击实现界面刷新 video https://live.csdn.net/v/156107 [video(video-zkepGWfX...当进入首页时提示用户再次点击tabBar可刷新界面数据 2、刷新数据当同时旋转tabbar的图片 CSDN下载完整地址demo :https://download.csdn.net/download/...,以及购物券类app的首页tabBar 3、特色功能:在更新数据期间旋转tabbar的icon blink https://blink.csdn.net/details/1175811 VII 、HTML

    92410
    领券