ios - UIBlurEffect 和 UIVibrancyEffect 图像不会显示在视图控制器的视图上
问题描述
我在一本学习 iOS 13 编程的书中看到了一个示例。我将程序片段放在视图控制器的视图中,但图像,一个在模糊背景上具有活力效果的标签,没有显示在控制器的视图中。
预期图像如下:
该程序的代码如下:
import UIKit
import CoreImage.CIFilterBuiltins
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
drawBlurAndVibrancyImage()
}
func drawBlurAndVibrancyImage () {
let blurEffect = UIBlurEffect(style: .systemThinMaterial)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(blurView)
let vibEffect = UIVibrancyEffect(blurEffect: blurEffect, style: .label)
let vibView = UIVisualEffectView(effect: vibEffect)
let lab = UILabel()
lab.text = "Hello, world!"
lab.sizeToFit()
vibView.bounds = lab.bounds
vibView.center = self.view.bounds.center
vibView.autoresizingMask = [.flexibleTopMargin, .flexibleBottomMargin, .flexibleLeftMargin, .flexibleRightMargin]
blurView.contentView.addSubview(vibView)
vibView.contentView.addSubview(lab)
}
}
非常感谢你!
解决方案
您blurView
最初没有为 's 框架提供任何价值。
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(blurView)
您可以添加blurView.frame = self.view.bounds
,您将开始看到标签和视觉效果视图。
推荐阅读
- javascript - PHP 看不到使用 jQuery 和 AJAX 创建的新元素
- node.js - 用于容器的 Azure Web 应用程序 - 启动期间失败 - 未响应 HTTP ping
- python - 使用信号更新 django 中的通知模型
- css - 在css中将div放在前面
- swift - 如何在 SwiftUI 中正确设置可调整的拆分视图?
- rust - 如何在程序宏中获取 Literal 的值和类型?
- javascript - 有什么方法可以将 Inkle(.js、JSON、.ink)与 Android Studio 项目结合起来?
- docusignapi - 当模板应用于信封时,能够修改模板选项卡以在信封中包含值
- python - 如何让 pytorch 为我的 765m 工作?
- regex - 在 Flutter 中限制 Text Field 中的各种表情符号