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

iPhone X上带有安全区插图的UIViewControllerAnimatedTransitioning

是一个用于实现自定义视图控制器过渡动画的协议。它允许开发人员在视图控制器之间进行平滑的过渡效果,并且可以在iPhone X的安全区域中插入自定义的图形元素。

安全区是指iPhone X的屏幕上不受刘海、圆角和底部虚拟Home条的影响的区域。由于iPhone X的屏幕形状与传统的iPhone不同,为了确保应用程序的内容不会被刘海或圆角遮挡,开发人员需要在布局和动画过渡中考虑到安全区。

UIViewControllerAnimatedTransitioning协议定义了两个必须实现的方法:

  1. func animateTransition(using transitionContext: UIViewControllerContextTransitioning):这个方法用于执行自定义的过渡动画。开发人员可以在这个方法中使用Core Animation或其他动画技术来实现过渡效果。
  2. func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval:这个方法返回过渡动画的持续时间。开发人员需要根据实际情况返回适当的时间间隔。

在实现过渡动画时,开发人员可以利用安全区插图来增加额外的视觉效果。例如,可以在过渡期间在安全区域中插入自定义的图形元素,以提供更丰富的用户体验。

以下是一些使用UIViewControllerAnimatedTransitioning的应用场景:

  1. 导航栏过渡动画:在视图控制器之间进行导航时,可以使用过渡动画来实现平滑的导航栏切换效果。
  2. 模态视图过渡动画:在模态视图之间进行切换时,可以使用过渡动画来创建吸引人的过渡效果。
  3. 自定义过渡效果:开发人员可以利用UIViewControllerAnimatedTransitioning来实现各种自定义的过渡效果,以提升应用程序的用户体验。

腾讯云相关产品和产品介绍链接地址:

腾讯云提供了丰富的云计算产品和服务,以下是一些与云计算相关的产品和链接地址:

  1. 云服务器(CVM):腾讯云的云服务器产品,提供高性能、可扩展的虚拟服务器实例。链接地址:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):腾讯云的云数据库产品,提供高可用、可扩展的MySQL数据库服务。链接地址:https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):腾讯云的对象存储服务,提供安全、可靠的云端存储解决方案。链接地址:https://cloud.tencent.com/product/cos
  4. 人工智能平台(AI):腾讯云的人工智能平台,提供丰富的人工智能服务和工具,包括图像识别、语音识别、自然语言处理等。链接地址:https://cloud.tencent.com/product/ai

请注意,以上链接仅供参考,具体产品和服务详情请访问腾讯云官方网站获取最新信息。

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

相关·内容

iPhone 检测 iPhone X 设备几种方式和分辨率终极指南

方式三:通过底部安全区高度来判断 方式四:通过是否支持 FaceID 判断 方式五:通过 UIStatusBar 高度判断 结语 原文链接 参考连接 ---- 本文是我们前两天发两条小集汇总...---- 适配新 iPhone X 设备 此外,我们发现,对于未进行新屏幕尺寸适配工程,直接编译,在新设备 iPhone XR 和 iPhone XS Max 运行,它们是以放大模式自动适配(以...备注:这里所说 iPhone X 泛指上述介绍屏幕大小为 5.8、6.1、6.5 英寸三种尺寸,且带有顶部刘海和底部操作条 iPhone 设备。...后面我们想了一个简便方法,即获取屏幕宽度和高度,取较大一方进行比较是等于 812.0 或 896.0,代码如下: 方式三:通过底部安全区高度来判断 在去年 iPhone X 发布后,为了适配顶部浏览和底部操作条...,苹果在 iOS 11 引入安全区域概念,建议开发者在安全区域内进行 UI 布局,因此我们可以获取屏幕 keyWindow safeAreaInsets 值来判断设备是否 iPhone X

1.3K20

极速适配 iPhone X 秘笈

iPhone X 适配方案 2017年9月苹果发布了 iPhone X 机型,对于它“刘海儿”和底部 Home Indicator,QQ空间 H5 也在第一时间做了兼容适配。...解决方案3 使用苹果提供新属性 苹果对于 iPhone X H5 页面的适配,提供了特殊属性支持,包括 meta 标签 viewport 属性值中加入 viewport-fit 和加入 constant...(safe-area-inset-X) 和 env(safe-area-inset-X) ,这些属性是与 iOS 11 以上所有 iPhone 机型 (不仅仅包括 iPhone X ) 都相关,故以...iPhone X 模拟器 H5调试 介绍 加入适配代码后,在没 iPhone X 情况下,可以通过 iPhone X 模拟器调试,像手机QQ / 手机空间里 H5 页面,可以通过在模拟器安装手机QQ...Xcode 9.0 以上 步骤:在 Xcode 打开一个空白项目,选择 iPhone X 模拟器,并点击运行按钮即可。 安装应用 在 Xcode 直接编译客户端代码。

1.3K40

iPhone X 适配手Q H5 页面通用解决方案

导语: iPhone X出现,一方面对于整个手机行业发展极具创新领头羊作用,另一方面也对现有业务页面适配带来了新挑战。...对于手Q中各业务来说,受iPhone X影响H5页面挺多,应该采取什么快速有效办法来应对呢?...目前H5页面可以分为通栏页面和非通栏页面两种,每种页面都可能有底部操作栏,具体如下: 通栏页面 顶部通栏 某些业务一级页面多数使用了顶部通栏banner效果,由于iPhone X在状态栏增加了24px...解决方案:在页面底部增加一层高度34px颜色块,将操作栏移34px,颜色可以自定义。 关于安全区域 这里可能有人会有疑问,为什么非通栏下页面内容是通到底部,而按钮却是在安全区域上方呢?...使用终端方案: 经过跟终端同学沟通,确定是可以通过终端方式,针对iPhone X机型,在原生界面初始化时候可选择是否要增加适配层,这样页面就不需要样式处理了。

13K1911

iOS 转场动画探究(一)

在下面你肯定会大量看到它,对于这个Transition(转场)过程中视图控制器和其对应视图在结构变化我在巧神博客中看到这张图,说实话,不太理解这张图表达了是什么,把这张图给大家分享出来,你要理解的话可以留言大家讨论一下...1、先说说  modalTransitionStyle,这个是控制器跳转时系统给几个动画风格,这个在iPhone比较多: typedef NS_ENUM(NSInteger, UIModalTransitionStyle...,modalPresentationStyle分割在iPad上面统统有效,但在iPhone和iPod touch上面系统始终已UIModalPresentationFullScreen模式显示presentedController...设置为YES,则会填充到状态栏下边,否则不会填充到状态栏之下.iPhone默认是这个 UIModalPresentationFullScreen = 0,...else if (self.edge == UIRectEdgeLeft) return locationInSourceView.x

2.4K50

Web App 一分钟适配 iPhone X

iPhone X 已经开抢了,然而面对 iPhone X 这个奇葩屏幕,你准备好了吗? ?...因为 iPhone X 刘海设计,Web 在 iPhone X 横屏时,可能会有这些问题: 默认情况,iPhone X 会将页面填充到安全区域(safe area),就像上面的图一样,一般情况下是没有问题...; 但如果是全屏 Web App 就会有问题了,比如背景色和页面的契合程度之类; 有的 iOS app 内置 WKwebview 可能会为了避免一些bug,而采用统一行为,就是禁用 iOS 11 自己内容区域判断...嗯,和background-size 以及 object-fit 一样。 2. 设置页面边距为安全区域边距 ?...当然,这里padding只是用于匹配iPhone X默认安全区,你可以设置任何值,不过建议要不小于默认安全区域值。 当前版本,横屏时,各属性值: ? ?

68720

《手管iPhoneX适配总结》

补充List一些官方必备要领传送门: 官方说明https://developer.apple.com/ios/human-interface-guidelines/overview/iphone-x/...WWDC__Building Apps for iPhone X (https://developer.apple.com/videos/play/fall2017/201/) -> 主要提及SafeArea...其中一个可能会有坑点,iPhoneX宽度与6s是一样,但使用是@3x图。所以在处理比例和插图时,需要注意。这就意味着,我们用一些通过比例对其切图和布局方法将会出现问题。...在TableView修改姿势 四、提一下关于测试事 由于目前还没有iPhoneX设备,只能通过模拟器去测试,就涉及到模拟器安装ipa包问题了。...(MQQSecure.app实际路径) 彩蛋:有趣刘海交流(https://dribbble.com/shots/3814075-iPhone-X-Photo-Editing-App-Concept

41820

兼容iPhone X* 刘海正确姿势

9月13日凌晨终于等来了万众瞩目的苹果新品发布会,相信很多小伙伴们都期待新 iphone 可以剪掉刘海胡子,但万万没想到是等来了三款不同尺寸 iphone x ,我天,等了这么久你给我看这个?...,因为如果页面底部有按钮的话,就会被胡子给挡住,以往我们兼容过 iphone x 下巴,但现在回想起来不是正确做法。...media query 按照 iphone x 尺寸(375px * 812px)做特殊处理,主要做两件事情: 1、给 html 底部预留 34px 间距,让页面里面的内容距底部保持 34px 间距...是的,但你见过 iphone x+ 有 ios 11以下吗? 所以我们可以愉快搞下去。...点击这里了解更多关于 viewport-fit 关于 safe-area-inset-* 各种 iphone x 都是不规则形状,我们如何控制页面元素到安全区域呢?

62410

兼容iphone x * 刘海正确姿势

,但万万没想到是等来了三款不同尺寸 iphone x ,我天,等了这么久你给我看这个?...,因为如果页面底部有按钮的话,就会被胡子给挡住,以往我们兼容过 iphone x 下巴,但现在回想起来不是正确做法。...是的,但你见过 iphone x+ 有 ios 11以下吗? 所以我们可以愉快搞下去。 开始之前我们先了解什么是 safe area,简单来说就是除了刘海和胡子以外区域为安全区域: ?...点击这里了解更多关于 viewport-fit 关于 safe-area-inset-* 各种 iphone x 都是不规则形状,我们如何控制页面元素到安全区域呢?...另外,发现在横屏场景下有一个比较有趣效果,大家可以了解一下,但在实际业务中应该不需要做得这么花哨: ? 借助CSS Shapes实现元素滚动自动环绕iPhone X刘海

1K30

20180914_ARTS_week12

十二周咯,算法题 Roman to Integer,看了一篇讲 Python 和 Go 文章,记录了移动端网页适配 iPhone X 内容,分享了三个月来做 ARTS 一点感受。...Tip 分享个关于移动端网页适配 iPhone X 相关内容。 iPhone X 新增了一个叫安全区概念,也就是除了四周圆角,上边刘海,底部小黑条之外中间那个长方形区域。...苹果为了适配 iPhone X 对现有 viewport meta 标签扩展了一个叫 viewport-fit 东东,用于设置网页在可视窗口布局方式,可设置三个值: contain: 可视窗口完全包含网页内容...cover:网页内容完全覆盖可视窗口 auto:默认值,跟 contain 表现一致 默认不添加扩展表现是 viewport-fit=contain,需要适配 iPhone X 须要设置 viewport-fit...:安全区域距离右边边界距离 safe-area-inset-top:安全区域距离顶部边界距离 safe-area-inset-bottom:安全区域距离底部边界距离 然后就可以通过利用这些变量来达到将页面控制在安全区目的

32710

【HTML5 理论知识】就H5调试技巧,浅谈:iPhone X 适配方案!

客户端适配 解决方案 客户端直接将webview安全区域限制在除去安全区区域内。页面将展示在下图灰色webview内: image.png 利弊分析 优点:H5前端开发没有任何适配工作量。...使用苹果提供新属性 解决方案 苹果对于iPhone XH5页面的适配,提供了特殊属性支持,包括meta标签viewport属性值中加入viewport-fit和加入constant(safe-area-inset-X...)和env(safe-area-inset-X) ,这些属性是与iOS11以上所有iPhone机型(不仅仅包括iPhone X)都相关,故以iOS版本为区别具体分析一下全屏下H5页面: 1....另外,页面不加viewport-fit=cover默认viewport-fit=contain/auto,也就是我们看到页面不能覆盖安全区情况,此时constant(safe-area-inset-X...iPhone X模拟器 H5调试 介绍 加入适配代码后,在没iPhone X情况下,可以通过iPhone X模拟器调试,像手机QQ/手机空间里H5页面,可以通过在模拟器安装手机QQ/手机空间app

3.2K80

小程序对IPhone全面屏手机底部黑线安全区域处理

首先说下手机安全区安全区域指的是一个可视窗口范围,处于安全区内容不受圆角(corners)、齐刘海(sensor housing)、小黑条(Home Indicator)影响。...我用手机是iphone X ,显示效果如上,为了美观和易用性,我们对手机显示进行适配 第一种方案 CSS3中constant、env函数 page { padding-bottom: constant...//将机型存入到本地缓存 以免后期其他业务逻辑需要使用 wx.setStorageSync('Modelmes', res.model) if (res.model === 'iPhone...X' || 'iPhone XR' || 'iPhone XS Max' || 'iPhone 11' || 'iPhone 11 Pro' || 'iPhone 11 Pro Max'){...this.globalData.Modelmes = true; }else{ this.globalData.Modelmes = false; } } }) 3.需要适配页面调用

1.7K1613

修复 iPhone X H5 底部安全区域定位按钮下内容穿透 BUG

修复 iPhone X H5 底部安全区域定位按钮下内容穿透 BUG 今日,开发了一个 h5 项目,其中有部分页面使用了底部按钮,采用是相对于浏览器窗口定位样式制作。...但是在 iPhone X 上面,出现了在按钮下方,居然有页面穿越情况,这就尴尬了。对于我这种不用 iPhone 的人来说,说了一句 mmp 然后就得去解决这个问题。...iPhone X 安全区问题 找到这张图片。一般来说,顶部安全区域问题,可以交给浏览器解决,但是底部,就需要我们自己来解决了。 ?...解决 iPhone X H5 安全区问题 首先,需要给网页设置 meta,如下设置: <meta name="viewport" content="width=device-width,initial-scale...由于 <em>iPhone</em> <em>X</em> 是一个特殊<em>的</em>机型,其分辨率特别特殊,所以,我们可以用媒体查询来定位到我们<em>的</em>网页是否在 <em>iPhone</em> <em>X</em> 中运行,因此,我们代码如下: @media only screen and

1.3K50

iPhone X 适配指南 (官方翻译版)

屏幕尺寸 在纵向方向上,iPhone X显示屏宽度与iPhone 6,iPhone 7和iPhone 84.7 寸显示屏宽度相匹配。...4.7寸 iPhone iPhone X 对于具有自定义布局应用,支持iPhone X也应该比较容易,特别是如果您应用使用自动布局并遵守安全区域和边距布局指南。...所有应用程序都应遵循UIKit定义安全区域和布局边距,这些区域可以根据设备和上下文进行适当填充。安全区域还可以防止内容覆盖状态栏,导航栏,工具栏和标签栏。 注意状态栏高度。...请注意,当背景任务(如录音和位置跟踪)处于活动状态时,iPhone X状态栏不会改变高度。 如果您应用程序目前隐藏状态栏,请重新考虑iPhone X决定。...全屏4.7 寸设备图像 在iPhone X裁剪 iPhone X信箱 全屏iPhone X图像 在4.7 寸设备裁剪 在4.7 寸设备上进行Pillarboxing 在重复使用现有图稿时,请注意长宽比差异

2.4K50

【最新】iPhone X 交互设计官方指南

如果你应用程序具有自定义布局,那么支持 iPhone X 也应该比较容易。如果你应用程序使用 Auto Layout 并且遵守安全区域和边距布局指南的话。...iPhone X 状态栏比其他 iPhone 更高。如果你应用程序状态栏高度比默认状态栏高,那么你必须更新自己应用程序,这样才能动态根据用户设备定位内容。...但是请注意,当背景任务(例如录音和位置跟踪)处于活动状态时,iPhoneX 状态栏并不会改变高度。 如果你应用程序对隐藏状态栏进行了隐藏,那么请重新考虑在 iPhone X 设计。...iPhone X 和 4.7 英寸 iPhone 长宽比具有比较大差异,因此当全屏时, 4.7 英寸 iPhone 图形会在 iPhone X 出现裁剪或者 letterboxed。...同样道理,iPhone X 图稿在全屏显示时会被裁剪或者添加黑边。 如果要继续使用在 4.7 英寸 iPhone 全屏显示图稿,一定要注意在两种显示尺寸兼容性问题。

1.9K20

iOS多设备适配简史以及相应API支撑实现

远古iPhone3和iPhone4时代,设备尺寸都是固定3.5inch,没有所谓适配问题,只需要用视图frame属性进行硬编码即可。...,网络以及苹果官方都有很多资料在介绍这些属性意思。...SizeClasses多屏幕适配 当我们程序可能需要同时在横屏和竖屏下运行并且横屏和竖屏下布局还不一致时,而且希望我们应用在小屏幕和大屏幕(比如iPhone8 Plus 以及iPhoneX S...从字面理解SizeClasses就是尺寸种类,苹果将设备宽和高分为了压缩和常规两种尺寸类型,因此我们可以得到如下几种类型设备: 设备 方向 类型 iPhone4/5/6/7/X 竖屏 w:Compact...h:Regular iPhone4/5/6/7/X 横屏 w:Compact h:Compact iPhone6/7Plus, iPhoneXMax 竖屏 w:Compact h:Regular iPhone6

1K30

iOS 自定义 ViewController 过渡动画

扔了这么多东西不管好处就是,这篇文章里我们需要处理新东西就只有两个: // UITabBarControllerDelegate 这个方法,用于返回一个负责管理过渡动画 UIViewControllerAnimatedTransitioning...addSubview(fromView) transitionContext.containerView().addSubview(toView) // 找出各个VC在tabBar位置...let start = UIBezierPath(ovalInRect: CGRect(x: tappedItemX, y: tappedItemY, width: 0, height: 0)).CGPath...let final = UIBezierPath(ovalInRect: CGRect(x: tappedItemX - finalRadius, y: tappedItemY - finalRadius...并且开始时path设置为上面的start——位置在点击tab一个半径为0圆。 // 下文中就要给这个path加特技,让他变化到包含整个界面那么大。

1.3K30

最新iOS设计规范七|10大视觉规范(Visual Design)

iPhone X和iPad Pro等边对边设备中,显示屏圆角与设备整体尺寸非常匹配。其他设备(例如iPhone SE和iPad Air)具有矩形显示屏。...如果您应用在特定设备运行,请确保该应用在该设备所有屏幕尺寸运行。换句话说,仅iPhone应用程序必须在每个iPhone屏幕尺寸运行,而仅iPad应用程序必须在每个iPad屏幕尺寸运行。...这些布局指南可确保根据设备和上下文进行适当插入。安全区域还可以防止内容重叠在状态栏,导航栏,工具栏和选项卡栏。系统提供标准视图将自动采用安全区域布局指南。...将所有控件最小可触碰区域保持在44pt x 44pt。 ? 在多个设备预览你APP。你可以使用模拟器(Xcode附带)预览你APP,来检查裁剪以及其他布局问题。...这是标准视频(4:3,16:9,以及最高2:1)和超宽视频(任何高于2.40:1)默认查看模式。 iPhone XS查看模式示例 ? ? ? ? iPhone XS填充示例 ?

7.8K30
领券