UIView alpha 与 UIColor alpha

2024-01-07

我想知道以下之间的区别:

  • 为我的 UIView 分配 alpha 值
  • 为其指定不透明颜色,但为 UIView 指定

在屏幕截图上,我制作了两个 UIView,每个视图顶部都有两个黑色(alpha = 1.0)UILabels:

假设之前定义了一个宏_RGB:

#define _RGB(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]

然后是代码::

[_view1 setBackgroundColor:_RGB(255, 0, 0, 1)];
[_view1 setAlpha:0.5];

[_view2 setBackgroundColor:_RGB(255, 0, 0, 0.5)];
[_view2 setAlpha:1];

[_view3 setBackgroundColor:_RGB(255, 0, 0, 1)];
[_view3 setAlpha:1];

我在视觉上只能看到一个区别:更改视图自己的 alpha 而不是背景颜色,也会影响子视图。但除此之外,我还应该考虑功能上的差异吗? (例如,关于动画、图层等)


区别在于:

  • 通过将背景颜色设置为 alpha
  • 通过为视图设置 alpha,整个视图(包括所有子视图)将使用给定的 alpha 进行绘制

所以在你的例子中:

  • _view1(视图上的 alpha
  • _view2(背景颜色的 alpha
  • _view3(两者的默认 alpha 1):好吧,我们都看到了 :-) 背景颜色和标签都是不透明的

两者的用法示例:

左图:您有一个半透明的黑色覆盖层,其中有一个子视图UIImageView包含白色复选标记图标,并且您通常希望该图标完全不透明(不透明)。因此,您只需将背景色设置为黑色,alpha

反对:

右图:您有一个半透明的黑色覆盖层,其中有一个子视图UIImageView包含白色图案图像(图案是不透明的白色,无 Alpha)。并且您希望叠加中的图案也是半透明的。然后,您可以将背景颜色设置为黑色,alpha 1(不透明),并且整个视图的 alpha

正如您所看到的,左图上的图标是完全不透明的,但在右图中,您还可以通过星星图案看到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIView alpha 与 UIColor alpha 的相关文章

  • Swift:如何让游戏中的角色只有落地后才能跳跃?

    我正在开发一款游戏 我的角色可以从一个陆地跳到另一个陆地 我已经把所有事情都做好了 除了我剩下的问题是 如果你继续点击屏幕 他可以永远跳跃 我希望他必须先落地才能再次跳跃 import SpriteKit import GameplayKi
  • UICollectionView 设置列数

    我刚刚开始学习 UICollectionViews 我想知道是否有人知道如何指定集合视图中的列数 默认设置为 3 iPhone 肖像 我查看了文档 似乎找不到简洁的答案 对于 Swift 5 和 iOS 12 3 您可以使用4 以下实现为了
  • supportedInterfaceOrientations 方法不会重写其超类中的任何方法

    在 UIViewController 中 这段代码 public override func supportedInterfaceOrientations gt UIInterfaceOrientationMask if let mainC
  • NSString 对象的最大长度是多少?

    NSString 对象中可以保存的最大字符串大小是多少 这会动态变化吗 我假设 NSString 的硬限制是 NSUIntegerMax 个字符 因为 NSString 的索引和大小相关的方法返回 NSUInteger 由于当前能够运行 i
  • Xcode - 发布和分发配置中的 Malloc_Error

    仅当我在设备上选择发布或分发配置时 我才会收到此错误 在模拟器上它运行良好 请问 我错在哪里 cc1obj 4113 malloc mmap size 429379584 failed error code 12 error can t a
  • 更改目录时 Gitlab CI 运行程序作业失败退出状态 1

    我正在使用我的个人机器作为使用 Fastlane 的 iOS 项目的运行程序 这主要是因为共享运行器没有为 iOS 设置 因为它们没有安装 Xcode 更改目录时我的作业立即失败 它是一个 shell 运行程序 根本没有其他自定义配置 有什
  • 如何在导航栏上添加 UIView?

    我需要覆盖UINavigationBar with UIView像这儿 除了使用带有按钮返回的自定义 UIView 作为导航栏之外 还有其他方法可以做到这一点吗 您可以将子视图添加到应用程序的基本视图 UIApplication share
  • 从字典创建 Swift 对象

    如何根据 Swift 字典中的查找值动态实例化类型 希望这对其他人有用 我们需要进行一些研究才能弄清楚这一点 目标是避免巨大的 if 或 switch 语句从值创建每个对象类型的反模式 class NamedItem CustomStrin
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • UIScrollView 与 UITabBarController 切断

    我有一个 UIScrollView 我将其放置在视图中 界面生成器文档 xib m h 但是 UIScrollView 的下半部分被剪切 并且由于我有一个 UITabBarController 而没有显示其下半部分 我在 appdelega
  • 使用标识符启动 iPhone 应用程序

    我正在尝试在我的应用程序中启动应用程序 例如 如果我按下 testApp1 中的按钮 它应该打开 testApp2 有没有办法用应用程序标识符来做到这一点 我听说过一种名为的未记录方法launchApplicationWithIdentif
  • 如何将设备上未保存的图片上传到dropbox帐户?(IOS)

    Dropbox RestClient 仅保存文件 所以我想先将图像保存在本地文件夹中 然后上传它 结果它保存了文件 但它已损坏 NSString localPath NSBundle mainBundle pathForResource I
  • Swift 单元测试 - 如何断言 CGColor 是它应该的样子?

    使用 Xcode V7 2 尝试进行单元测试 需要验证是否已设置正确的颜色 并收到以下消息 Cannot invoke XCTAssertEqual with an argument list of type CGColor CGColor
  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • 如何从第二个视图弹回到根视图?

    我使用 2 将 3 个视图 根视图 第 1 个视图 第 2 个视图 连接在一起modal在 Apple Watch 故事板中继续 1 在根视图中 按下 保存 按钮后 将显示第一个模态视图 2 在第一模态视图中 一旦按下 500 按钮 将显示
  • iOS:如何创建核心数据库的备份副本?以及如何导出/导入该副本?

    我想为我的应用程序的用户提供创建核心数据数据库备份的可能性 特别是在他切换到新设备等情况下 我该怎么做呢 特别是如何重新导入该文件 我的意思是 假设他制作了数据库的备份副本 然后更改了大量内容并想要重置为以前保存的备份副本 我该怎么做呢 T
  • Objective-C 点表示法与类方法?

    请注意 我特别指的是点表示法与类方法一起使用 而不是与实例方法一起使用 出于好奇 我想看看如果我尝试在类方法中使用 Objective C 点表示法语法会发生什么 我的实验如下 import
  • dispatch_semaphore_t 重用 - 我在这里缺少什么?

    我有一些代码 其中使用dispatch semaphore t 来表示操作完成 当信号量是成员变量时 它的行为似乎不正确 我将展示有效的示例代码和似乎无效的示例代码 implementation someClass dispatch sem
  • 如何安全地重命名 iOS 分发配置文件?

    我几个小时前刚刚提交了我的第一个应用程序 现在处于 等待审核 状态 但我犯了一个错误 我已经命名了我的分配配置文件My Company Distribution Profile 我应该做的事情被命名为我的发行版配置文件My GAME Dis
  • TestFlight 安装的应用程序因 Swift 包管理器依赖项而崩溃

    我们已经迁移了一些 CocoaPod 依赖项 以便在 Xcode 11 中使用 Swift Package Manager 进行构建和链接 但是 每当我们将应用程序提交到 AppStore Connect 并使用 TestFlight 进行

随机推荐

  • poll 系统调用超时

    附加strace显示了很多这样的消息 poll fd 5 events POLLIN fd 6 events POLLIN fd 7 events POLLIN fd 8 events POLLIN fd 9 events POLLIN f
  • AWS - 从公共 API 网关到 VPC 内 lambda 的路由

    Question 从面向公众的AWS网络中的API网关到VPC子网中的Lambda函数 流量经过哪里 推出 Amazon API Gateway 私有终端节点 https aws amazon com blogs compute intro
  • 您的分支比“origin/master”领先 1 次提交

    我对 Git 有点陌生 我希望有人能在我的场景中解释这条消息的确切含义 为了向您提供一些背景信息 这就是我所做的 我已将存储库克隆到本地计算机 创建了一个新分支并进行了一些更改 然后 我将这些更改添加到暂存 跟踪区域 提交更改 然后将所有内
  • 升级到 Xcode 12 后出现问题:ld:为 iOS 模拟器构建,但链接到为 iOS 构建的 dylib,架构 arm64

    我将 Xcode 升级到 Xcode 12 并构建了我的项目 首先 它会出现如下错误 ld 为 iOS 模拟器构建 但链接到为 iOS 构建的 dylib 文件 Users ethanli Documents Aspira RA com4i
  • 为什么 NHibernate 不支持 MySql 上的批处理

    我找到了一个几个地方 http ayende com blog 3830 nh prof new features disabling ignoring alerts人们说它不受支持 但我找不到根本原因是什么 mysql ado net 提
  • Power BI 嵌入 URL - 多个过滤器

    我一直在尝试使用过滤器查询语法来过滤嵌入的 PBI 报告 filter tableName fieldName eq fieldValue 这对我有用 但是 当我应用多个过滤器时 PBI 报告仅根据最后一个 filter 进行过滤 而其他过
  • 表“MyDjango.django_admin_log”不存在

    我无法在 django 应用程序中创建用户和博客 按下保存按钮时 它只是显示错误 表 MyDjango django admin log 不存在 错误消息如下所示 您最近是否启用了管理历史记录 但忘记运行syncdb 据我所知 Django
  • uilabel 尾部截断

    我正在使用 Objective C 开发一个 ios 应用程序 并且我遇到了 uilabel 的问题 我需要一些帮助 基本上我有一个标签 可以更改大小以适应它将显示的文本 但它有一个可能的最大高度 标签本身始终具有固定宽度 我已打开 UIL
  • 如何将视频从 URI 转换为 byte[]

    我已经捕获了视频并获得了该视频的 URI 如何加载该URI指向的内容到byte 结构 看一下 ByteArrayOutputStream http download oracle com javase 6 docs api java io
  • 3.1.4 textAlignment丢失(Android Studio)

    我有新版本的 Android Studio 3 1 4 但我找不到 textAlignment 我已经在 查看所有属性 中进行了搜索 现在就找人在我能找到的地方吧 谢谢回答 以下是我解决该问题的方法 在 Android Studio 3 3
  • JQuery 自动完成自定义显示多列第 2 部分

    我正在尝试获得类似于以下内容的自动完成功能 Here http jqueryui com demos autocomplete custom data在 jquery ui 的自定义示例中 相反 这将使用 ajax 调用而不是硬编码数据 我
  • 如何在核心数据中保存现有的单例表视图数据?

    我的项目中有这样的单例购物车var fromSharedFood SingletonCart sharedFood food 我正在从 MainVC 到 DetailVC gt MyCartVC 获取所有食物数据 我在 MainVC 中有表
  • 将 React 的不可变助手与 Immutable.js 结合使用

    我正在研究助焊剂应用并正在考虑采用不可变 js https github com facebook immutable js来维持状态 我看到 React 提供了自己的帮助器来更新不可变对象 http facebook github io
  • 如何在 Android Studio 中查找 Kotlin 的最新版本

    我打开了一个前段时间创建的 Android Studio 项目 IDE 说 Kotlin 的 gradle 插件支持 Kotlin 版本 1 2 51 或更高版本 我想将其设置为最新版本 但我必须去 Kotlin 网站 在该网站上不容易找到
  • C++ 声明顺序(在多变量声明行中)

    我在我的 C 代码中使用以下内容 int a 0 b a 我想知道这种行为是否可靠且定义良好 名称声明从左到右的顺序 并且我的代码不会与其他带有未申报的名字 error 如果不可靠 我会打破这个说法 int a 0 int b a 谢谢 我
  • 显示电子邮件地址和联系电话的安全方式

    是否有任何提示可以在联系表单网页上显示联系电话号码和电子邮件 我的页面上有一个联系表格 但也希望人们可以选择直接打电话或发送电子邮件 目前它们以纯文本显示 但感觉这是不安全的 并且对爬行网站以获取此类信息的机器人开放 有安全的方法吗 Tha
  • PHP - 设置带有签名验证的 Webhook 接收器

    我需要设置一个 PHP 页面来接收 Webhook 我过去已经做过很多这样的事情 所以这不是问题 但是我正在为这个项目使用的 API 要求我的 webhook 验证标头中提供的签名 作为验证请求的一部分 它将发送以下内容 HEADER x
  • 如何转储 SoapClient 请求或响应以进行调试?

    我需要调试一些使用的代码SoapClient班级 我发现方法记录如下 getLastRequest 但它只返回null client new SoapClient https example com service wsdl respons
  • Android 依赖项引用不存在的库 google-play-services_lib.jar

    我一直在尝试让一个简单的地图出现在应用程序中 如 Google 地图 v2 文档所示 这让我经历了一段糟糕的时光 Eclipse 不断地说 容器 Android 依赖项 引用不存在的库 X Android Development works
  • UIView alpha 与 UIColor alpha

    我想知道以下之间的区别 为我的 UIView 分配 alpha 值 为其指定不透明颜色 但为 UIView 指定 在屏幕截图上 我制作了两个 UIView 每个视图顶部都有两个黑色 alpha 1 0 UILabels 假设之前定义了一个宏