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

在情节提要中使用材质样式时,iOS 13.0警告之前的系统模糊样式

在iOS开发中,使用材质样式(Material Styles)时,如果在iOS 13.0之前的系统中遇到模糊样式的警告,这通常是因为这些较旧的系统版本不支持某些新的视觉效果或API。为了解决这个问题,可以采取以下几种方法:

基础概念

  • 材质样式:指的是遵循Material Design原则的设计元素和风格。
  • 模糊效果:一种视觉效果,通过降低图像的清晰度来模拟背景模糊,常用于提升界面的层次感和美观性。

相关优势

  • 提升用户体验:模糊效果可以使界面看起来更加现代和专业。
  • 强化内容焦点:通过模糊背景,可以让用户更专注于当前视图中的主要内容。

类型

  • 高斯模糊:最常见的模糊类型,通过平均像素值来实现模糊效果。
  • 运动模糊:模拟物体运动时的视觉效果。

应用场景

  • 导航栏背景模糊。
  • 弹出视图的背景模糊。
  • 图片或视频播放时的背景模糊。

遇到的问题及原因

在iOS 13.0之前的系统中,可能没有足够的API支持来实现某些高级的模糊效果,导致开发者在使用这些效果时收到警告。

解决方法

  1. 条件编译: 使用#available检查系统版本,并根据不同的版本使用不同的实现方式。
  2. 条件编译: 使用#available检查系统版本,并根据不同的版本使用不同的实现方式。
  3. 使用第三方库: 如果内置API不足以满足需求,可以考虑使用第三方库,如SDCBlurredViewFXBlurView,这些库通常会提供向后兼容的解决方案。
  4. 自定义实现: 对于简单的模糊效果,可以通过Core Image框架手动实现模糊效果。
  5. 自定义实现: 对于简单的模糊效果,可以通过Core Image框架手动实现模糊效果。

通过上述方法,可以在不同版本的iOS系统上实现一致的模糊效果,同时避免在旧版本系统上出现警告。

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

相关·内容

最新:iOS 13 适配

颜色适配 iOS 13 之前 UIColor 只能表示一种颜色,从 iOS 13 开始 UIColor 是一个动态的颜色,它可以在 LightMode 和 DarkMode 拥有不同的颜色。...iOS 13 下 UIColor 增加了很多动态颜色,我们来看下用系统提供的颜色能实现怎么样的效果。...13 之前设置一个颜色的方法一样吧,用这种动态颜色,系统直接替我们完成了适配的工作,是不是很方便呢。...但是在某些场景下,我们可能会有根据当前样式来做一些其他适配的需求,这时我们就需要知道现在什么样式。...如何改变当前模式 我们可以看到在动图中是直接改系统的模式,从而让 App 的模式修改,但是对于某些有夜间模式功能的 App 来说,如果用户打开了夜间模式,那么即使现在系统是 light 模式,也要强制用

3.3K50

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

例如,如果在不是很关键的其他地方使用红色时,那么警告用户关键问题的红色就会变得不是那么有效。 在APP中使用互补色。APP中的颜色需要很好地协同工作,而不是冲突或分散注意力。...根据需要进行调整,以确保两种类型的显示器具有同等的视觉体验。 五、暗黑模式(Dark Mode) 在iOS 13.0及更高版本中,用户可以选择使用暗黑模式的系统外观。...七、材质(Materials) iOS提供的材质(或模糊效果)都可创建半透明效果,可唤起深度感。材质的效果是为了让视图和控件能够提示背景内容,同时又不会分散前景内容。...为了产生这种效果,材质允许背景颜色信息传达到前景视图,同时模糊背景上下文以保持易读性。 当你使用系统定义的材质时,你的元素在每个上下文中都会很好看,因为这些效果会自动适应系统的明暗模式。...从iOS 14开始,系统以可变字体格式提供San Francisco和New York字体。这种格式将不同的字体样式组合到一个文件中,并支持在样式之间进行插值以创建中间的样式。

8.1K30
  • 苹果iOS 13 新设计规范全面解析

    在iOS 13.0及更高版本中,人们可以选择采用称为黑暗模式外观。在暗模式下,系统为所有屏幕,视图,菜单和控件使用较暗的配色,使前景内容在较暗的背景下突出。黑暗模式支持所有辅助功能。...例如,当出于非关键原因在应用程序中的其他地方使用红色时,警告人们关键问题的红色三角形变得不那么有效。 在整个应用中使用补色:应用中的颜色应该很好地协同工作,而不是冲突或分散注意力。...当您的应用在现实世界中使用时,您在计算机上看到的颜色看起来并不总是一样。始终在多种光照条件下预览您的应用,包括在晴天户外,以查看颜色的显示方式。如有必要,调整颜色以在大多数用例中提供最佳的观看体验。...系统只需按照不同的场景来使用这两种颜色即可。 ? 苹果设计师为我们提供了4组的语义化文字样式颜色。无论在深色或者浅色模式,都能呈现出良好的对比度。如下图所示。 ?...在填充色,分隔线和系统色中,建议大家使用各种透明度的颜色来处理,确保在黑暗模式和白色模式下,这些颜色都能很好的适配。 ? 当然,不是所有的颜色都可以用透明色,比如下面这种。

    4.6K40

    iOS开发常用之 HUD 弹窗

    HUD与吐司 MBProgressHUD - 最多人用的loading。 EBuyCommon - 1.基于MBProgressHUD实现得图形加载提示方式,及其标题方式提醒.2。弹窗。...MMProgressHUD - 设置HUD出现和消失的方式(包括上下,左右,淡入淡出,放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画,动态图片等等),设置HUD出现时的底部覆盖层颜色,等等...DQAlertView - 扁平化的样式不错。 HHAlertView - 一个简单的alertview有三种样式,有成功,失败,和警告三种样式,支持代表和阻止两种回调。...UICustomActionSheet - 通过模糊背景来着重强调与菜单相关的元素 - 模糊效果里面已经收藏。...GSAlert.swfit - 苹果在iOS8推出了全新的UIAlertController,旧的UIAlertView和UIActionSheet渐渐被废弃,但如果你仍然支持iOS7系统,你将不得不写两套代码

    4.3K20

    双管齐下:同时设计 iOS 和 Anroid

    通常情况下,我们也都只设计一个 App,然后在交给 iOS 和 Android 开发团队之前将它们做一些微调。...了解另外一种系统 你很可能有自己更加喜欢的一个系统,像我一直使用 iPhone,所以我可能对 iOS 上的 UI 样式有更多的了解。...状态栏(显示你的网络、电量和时间信息)是系统组件,你不需要考虑设计它,只要确保它们不会对他人造成误解就好了。 ? 4. 导航 或许iOS 和 Android 平台之间最大的区别就在于他们的导航样式了。...如果你想要在设计的时候节省时间,那么用一款字体就可以,但是要和开发人员沟通在不同的平台上使用对应的字体。而在设计重要的布局结构和使用大号字体时,我建议你还是同时用这两种字体测试效果。...通常来说,警告框和表示载入的图标留给开发者做决定。你或许已经经历过弹出框和警告框的设计和 App 的其他部分样式完全脱节的情况。

    1.4K50

    iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

    活动指示器: 当任务进行和加载时旋转,任务完成后自动消失 不支持用户交互行为 在工具栏或主视图中使用活动指示器来告知用户任务或加载正在进行中,但并不提示该过程何时会结束。 不要使用静止的活动指示器。...当你需要展示一大组用户并不熟悉的选项,此种选择器可能不太适合。 尽可能让让用户在当前视图中使用选择器。不要让他们在使用选择器时还要进入其它的视图。...进度视图: 是一条轨迹,随着进程的进行从左向右进行填充 不支持用户交互行为 iOS定义了两种进度视图样式: 默认(Default).默认样式适合用在app的主要内容区中。 ?...文本框 高度固定,包含圆角 当用户点击它时,自动唤起输入键盘 可以包含系统提供的按钮,如书签按钮(Bookmarks) 可以展示多种文字样式(了解更多请参考 UITextView) 使用文本框来获取用户输入的少量信息...举个例子,当你使用一个问题,或者两个短句来作为警告框标题的话,很可能你并不需要添加文本信息。 不用刻意避免在警告框中使用消极负面的文案。

    13.2K30

    PyTorch和Tensorflow版本更新点

    •修复Estimator中的错误,即构造函数中的参数不是对用户提供参数的深度复制。这个错误无意中使得用户在创建Estimator之后突变参数,从而导致潜在的未定义的行为。...如果一个模型在1.2版本之前以不同的名称导出,并且现在使用tensorflow / serving,它将接受使用'inputs'和'outputs'的请求。...由于引入了广播,某些可广播情况的代码行为与0.1.12中的行为不同。这可能会导致你现有代码中出现错误。我们在“重要破损和解决方法”部分中提供了轻松识别此模糊代码的方法。...这允许用户使用相同的[]-样式操作在Tensor的每个维度上选择任意索引,包括不相邻的索引和重复的索引。...forward函数之前执行用户指定的闭包。

    2.7K50

    【Hybrid开发高级系列】ReactNative(四) —— 基础开发技巧

    1.5.2 弹性(Flex)宽高         在组件样式中使用flex可以使其在可利用的空间中动态地扩张或收缩。一般而言我们会使用flex:1来指定某个组件扩张以撑满所有剩余的空间。...文件 $ touch index.ios.js 4、在index.ios.js中添加你自己的组件 5、运行Packager $ npm start 1.11 调试 1.11.1 应用内的错误与警告提示(...iOS试图通过将一个原始的像素扩 展成多个值得方法,看似是尽可能忠实于用户的体验价值,实际上是欺骗了众人的眼睛。这项技术的缺点是使得 生成的元素看起来很模糊。         ...性能:     • 在样式对象中使用一个样式表可以使得通过ID对它进行参考成为可能,而不是每一次都创建一个新的样式对象。     • 它还允许通过桥梁对样式进行一次发送。...setImmediate是在向本地发送批处理相应之前,当前JavaScript执行块结束时执行的。

    42920

    SwiftUI - 百行代码变十行,Swift再创辉煌

    使用声明式语法,所以我们可以简单地声明用户界面的样式。...最主要的思想是在确保 View或者 View Controller 生命周期以及用户交互时,相应的方法 (比如 viewDidLoad 或者某个 target-action 等) 能够被正确调用,从而构建用户界面和逻辑...例如,编写需要包含文本字段的项目列表时,开发者可以用代码描述每个字段的对齐方式、字体和颜色。代码也比以前更简单,更易于阅读。 [1240] 这种声明式风格非常适用于像动画这样复杂的元素。...SwiftUI在需要时自动计算和动画转换。...,将在7月份开启公测,官方介绍如下: iOS 13.0+ Beta macOS 10.15+ Beta UIKit for Mac 13.0+ Beta tvOS 13.0+ Beta watchOS

    2.3K30

    SwiftUI - 百行代码变十行,Swift再创辉煌

    开发者可以声明需要由一串文本输入框构成的组件 然后定义每一个输入框的字体对齐方式、字体样式、字体颜色。 这些代码比以往更加易懂,省时并易于维护。...最主要的思想是在确保 View或者 View Controller 生命周期以及用户交互时,相应的方法 (比如 viewDidLoad 或者某个 target-action 等) 能够被正确调用,从而构建用户界面和逻辑...例如,编写需要包含文本字段的项目列表时,开发者可以用代码描述每个字段的对齐方式、字体和颜色。代码也比以前更简单,更易于阅读。 ? 这种声明式风格非常适用于像动画这样复杂的元素。...简便的动画创建方式 创建平滑的动画就像添加一个方法调用一样简单。SwiftUI在需要时自动计算和动画转换。...SwiftUI 支持的设备要求版本较高,将在7月份开启公测,官方介绍如下: iOS 13.0+ Beta macOS 10.15+ Beta UIKit for Mac 13.0+ Beta tvOS

    3K40

    iOS——配适深色模式

    在适配深色模式的过程中,作为开发者,我们其实只要解决俩个问题: 1、如何判断当前的系统的颜色模式? 2、我们应该对哪些UI的内容适配深色模式? 如何去判断当前系统的颜色模式?...颜色 在iOS13以后,UIKit给我们提供了很多的动态颜色,以system开头的都是动态颜色,当我们给 UI 控件设置了动态颜色以后。 UI 控件就会自动的根据当前是否是黑暗模式展现出来对应的颜色。...在 iOS 13 中, UIKit 为 UIColor 所提供的 新 API 来创建我们自己的动态颜色。...那么在iOS7之前一般使用UIToolBar来做。 在iOS8之后,苹果新增了一个类 UIVisualEffectView 来专门实现这种模糊效果。代码也很简单。...之后,UIKit也为我们提供了四种动态模糊样式: UIBlurEffectStyleSystemChromeMaterial这种样式是用来指定运行在 macOS 上的 iPad 应用的边框颜色的 所以想要模糊效果适配深色模式直接以上四种动态模糊样式就可以了

    1.6K10

    最新iOS设计规范三|3大界面要素:栏(Bars)

    在iOS 13及更高版本中,默认情况下,大标题导航栏不包含背景材质或阴影。另外,随着页面滑动,大标题要转换为标准标题。 ? 隐藏大标题导航栏的边框。...在iOS 13及更高版本中,可以通过删除导航栏的阴影来隐藏导航栏的底部边框(当滑动内容区域时,边框会自动重新出现)。无边框样式在大标题导航栏中效果很好,因为它增强了标题和内容之间的联系感。...但是,无边框样式在标准标题导航栏中可能无法很好地起作用,因为该栏的标题和按钮可能难以区分。iPad上的拆分视图是一个例外,更多的是通过在这两种视图中使用无边框样式来保持主视图和辅助视图之间的一致性。...状态栏中显示的实际信息取决于设备和系统配置。 使用系统提供的状态栏。用户期望状态栏在系统范围内保持一致,所以不要用自定义状态栏替换它。 ? 选择样式相协调的状态栏。...有几种常见的技术可以做到这一点: · 在APP中使用导航栏,该导航栏会自动显示状态栏背景,并确保内容不会显示在状态栏背后 · 在状态栏背后显示自定义图像,如渐变色或纯色 · 在状态栏背后放置模糊的视图

    9.9K10

    揭秘 @available

    # 【引言】为什么开启本话题 从2017年开始,OC语言可以使用 @available 语法糖判断运行时的系统版本,该语法糖可以帮助我们去掉很多烦人的警告。...请注意,我们通过`API_AVAILABLE(ios(13.0))` 标识了该方法只在 iOS 13及以上系统生效。...在讲 @available 实现之前,我们先梳理一下整体上的编译流程: **预编译** 对源码执行预处理操作,比如展开 `#includes` `#defines` **编译** 解析预处理后的文件...在**编译**阶段,clang 在 AST 新增 `ObjCAvailabilityCheckExpr` 节点,该节点代表源码中的`@available(iOS 13.0, *)`, 根据 AST 产出...考虑到低版本系统的兼容性问题(低版本运行时没有实现函数 `_availability_version_check`),最终方案为:`@available(iOS 13.0, *)` 调用 `libclang_rt

    2.7K10

    iOS应用黑暗模式设计终极指南(附套件下载)

    在本指南中,我将逐步解释为iOS应用设计暗模式的过程。本文将重新设计WhatsApp,基于Apple的人机界面指南。 ? 在WWDC 2019大会上,苹果公布了iOS 13的所有新功能。...在所有超级令人兴奋的功能中,关于黑暗模式的部分最让我兴奋。对于那些在社交媒体上关注我的人,您可能知道我是“黑暗模式”的忠实粉丝。使用iOS 13后,人们可以选择采用深色系统外观。...有时很难在两种模式下都选择通过对比度测试的相同颜色。因此,您可以为两种模式选择2种不同的颜色。 10 材质(Material) 如果任何元素同时具有透明度和“背景模糊”效果,则它将成为材质。...两个导航栏都应用了背景模糊。左边的那个不是完全不透明的。但是正如您所看到的,它们几乎没有任何区别。另外,下面的内容也不会模糊。 请注意下图,不同的材质所产生的视觉效果是不一样的: ?...接下来看一下底部的Tabbar: ? 顺便说一句,材质还用于诸如通知和模态之类的组件。这是模态中使用的材质的示例: ?

    3.4K10

    iOS 9人机界面指南(三):iOS 技术 (中) - 腾讯ISUX

    通知警告框是显示在屏幕上的标准警告框视图,需要用户操作后才会隐藏。当用户点击Options按钮后,你需要提供并显示通知消息以及任何一个默认动作,或最多四个特定动作。警告框的背景样式不能做修改。...当用户点击警告框中的一个默认或自定义动作按钮时,iOS会同时隐藏警告框并运行你的应用(可能是在后台)。点击关闭或确定按钮会隐藏警告框而不打开应用。 ? ?...注意:当用户决定停止与你的应用共享数据时,让他们可以在系统设置中即可完成变更,而不需要通过你的应用界面。 不要在你的应用界面中使用健康应用的图标、图片或者截图。...如果你的应用中有自然中断或情景转换,用模态样式来展示会更合适。当你使用模态样式来展示全屏横幅时(通过用presentFromViewController实现),用户要么进入广告,要么关闭它。...出于这个原因,当用户有做出转变的预期时 (比如完成了一个任务后) 用模态视图的形式来展示比较好。 应用的界面视图进行转场切换时不要使用模态样式展示全屏横幅。

    3.3K50

    最新iOS设计规范四|3大界面要素:视图(Views)

    除非在极少的情况下,必须提供指导,那么可以用“点击”这个词,在引用按钮时保持大写,不要在引号中包含按钮标题。 警示框按钮 使用双按钮警示。双按钮警示框给予了用户一个比较容易的双选项的选择方式。...一般而言,表格是基于文本的内容的理想选择,并且通常作为导航视图显示在拆分视图的一侧,而相关内容显示在另一侧。 表单分类 iOS有三种样式的列表,平级、分组、插入分组。 平级。...某些情况下,在新数据加载出来之前,先展示之前的旧数据也是有意义的。 在内容加载时配以进度条指示进度。...如果某行支持删除并且有助于提供清晰性,请将系统提供的删除标题替换为自定义标题。 在用户做出选择时给予相应的反馈。用户在与列表进行交互时,希望被点击的列表可以突出显示。...系统提供的这些标准单元格样式,很适合在各种常见场景中使用,但某些内容或某个APP有可能需要大量自定义的单元格样式。 十一、文本视图(Text Views) 文本视图主要用以显示多行样式的文本内容。

    8.5K31

    谷歌 Flutter 1.17 发布

    测试OpenGL与金属的iOS应用程序框架渲染时间(越短的条越好) 对于不完全支持Metal的设备(A7处理器之前的版本或运行10之前的iOS版本的设备),Flutter会像过去一样使用OpenGL,从而为较旧的设备提供本地渲染速度...有关更多详细信息,请在Flutter Wiki上查看iOS上的Metal常见问题。 材质小部件:NavigationRail,DatePicker等 改进了Flutter中实施的材料设计系统。...更新的文本选择在Android上溢出 iOS上的更新文本选择溢出 当按钮的长度比没有溢出时可以显示的时间长时,文本选择菜单现在可以提高Android和iOS的保真度。...此版本更新了TextTheme API以匹配当前的Material规范,但保留了旧名称,以使您的代码不会中断。但是,旧名称已被弃用,因此您将收到警告,以鼓励您采用新名称。...#42100 使用pushReplacement(…时,运行先前路线的辅助动画 #45940弃用UpdateLiveRegionEvent #49389延迟快速滚动时的图像解码 #49391文本选择溢出

    3.5K10
    领券