xcode - 如何为 UIView 创建半透明背景?

标签 xcode uiview

我正在创建一个 UIView,其中包含一些部分覆盖 UIImageView 的文本。我希望用户能够阅读文本并仍然保持对下方图像的透视。我尝试将背景颜色设置为 [UIColor clearColor],但是背景是完全透明的,并且根据图像颜色很难阅读文本。

如果我降低 view.alpha=0.5 包括文本的整个 View 是部分透明的。我想要的是保留文本并部分降低背景的透明度,让图像显示出来。

最佳答案

选项 1 - 使用 Storyboard
对于那些在 Storyboard或 .xib 中有 View 的人,您只需在界面构建器中通过在实用程序 Pane (右侧 Pane )中为 View 背景选择“清除颜色”选项来完成。 “清除颜色”将为 View 提供完全透明的背景。
See screenshot
如果您需要部分透明的背景颜色,请使用颜色选择器选择所需的背景颜色,然后使用底部的不透明度 slider 设置透明度。
opacity slider to arrange transparency of the background colour of your view

选项 2 - 使用颜色 Assets (和 Storyboard)
另一个非常有用的选项是为您的 .xcassets 添加颜色。库,以便您可以在不同的 View 中轻松使用相同的颜色。您也可以使这些颜色(半)透明,方法如下:

  • 打开您的.xcassets图书馆
  • 添加颜色集

  • Add a Color Set to your xcassets library
  • 给它一个有用的名字并选择颜色缩略图

  • Give it a useful name and select the color thumbnail you'd like to adjust/create
  • Attributes Inspector然后您可以更改颜色并使用 slider 调整其不透明度

  • Create the color and use the Opacity slider to adjust it's transparency
  • 返回您的 Storyboard并选择您需要此透明背景颜色的 View
  • Background Attributes Inspector 中的选项您现在可以选择添加到 .xcassets 的颜色图书馆。如果您的应用程序中有多个使用相同背景的 View ,这将非常有用。

  • You can now select the color you just created in your storyboard
    在代码中,您可以使用以下方法从颜色资源中访问颜色:
    SWIFT (UIColor): UIColor(named: "DP Textfield") SWIFTUI(彩色): Color("DP Textfield")

    关于xcode - 如何为 UIView 创建半透明背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6655093/

    相关文章:

    iphone - 需要将UIView捕获成UIImage,包括所有 subview

    swift - 在 uitableview 上面添加 uiview

    ios - 删除对象作为某些 KVO 属性的观察者的最佳实践

    ios - iPhone 上的粘滞按钮程序

    iphone - 带有 Xcode 4.2 的 Interface Builder 中的 UIApplicationDelegate

    ios - Xcode 13/iOS15 的启动时间比预期的要长,它显示了与 LLDB 相关的消息

    ios - UIView 上的圆角仅适用于 iPhone 8、iPhone 6s、iPhone 6s plus、iPhone 6 等少数模拟器

    ios - 在 SpriteKit 中检测对象子节点上的触摸

    ios - 无法从 Xcode 获取模拟器列表。请打开 Xcode 并尝试直接从那里运行项目以解决剩余问题

    ios - 清除绘图的 UIView?