【问题标题】:Using UIScrollView with UIVisualEffectView (UIBlurEffect) in Swift在 Swift 中使用 UIScrollView 和 UIVisualEffectView (UIBlurEffect)
【发布时间】:2014-10-05 18:42:43
【问题描述】:

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

UIBlurEffect 对象对分层的内容应用模糊效果 在UIVisualEffectView 后面。添加到 contentView 的视图 UIVisualEffectView 不受模糊效果的影响。

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

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

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)

    }

【问题讨论】:

    标签: ios swift uiscrollview uiblureffect


    【解决方案1】:

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

    在这种情况下,您需要将滚动视图添加到模糊视图的内容视图中。 假设 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-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      • 2015-02-05
      • 2017-05-06
      • 2015-03-24
      相关资源
      最近更新 更多