1

我正在使用UIBlurEffectfromUIVisualEffectView来生成 iOS 7 中引入的外观。为此,我以编程方式将我想要在模糊顶部描绘的任何内容添加到 中contentView,如UIBlurEffectClass Reference 中所述:

对象将UIBlurEffect模糊效果应用到UIVisualEffectView. contentView添加到a 的视图UIVisualEffectView不受模糊效果的影响。

但是现在我需要UIScrollView在混合中添加一个,而我必须使用的事实让contentView我完全困惑。我对 Swift 不是很熟悉UIScrollView,但是iOS 8 Swift Programming Cookbook给出了这个例子:

在此处输入图像描述

我不需要显示一个imageView,而是view在层次结构中显示一个单独的,其中包含许多视图。我到底在哪里添加scrollView?我设置scrollViewsubviewofcontentView吗?或者反过来,contentViewas a subviewof scrollView? 这是我当前的代码:

class InfoVC: UIViewController {


    @IBOutlet weak var contentView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // blur
        let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))
        blur.frame = view.frame
        view.addSubview(blur)
        blur.contentView.addSubview(self.contentView)

    }
4

1 回答 1

2

你想在模糊效果上滚动一些东西,对吗?

在这种情况下,您需要将滚动视图添加到模糊视图的内容视图中。假设contentView您要滚动的视图应该是这样的:

let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.light)) 
blur.frame = view.bounds
view.addSubview(blur)
UIScrollView scrollView = UIScrollView(frame:blur.bounds)
blur.contentView.addSubview(scrollView)
scrollView.addSubview(contentView)
scrollView.contentSize = contentView.frame.size // or whatever other size you like
于 2015-02-19T16:13:11.310 回答