2017-09-01 6 views
1

カスタムalertViewの中にtableviewを挿入しようとしています。そして、私はデフォルトアラートと同じスタイルを達成する必要があります。デバッグビューの階層から私はほとんどスタイルをコピーしましたが、Appleがぼかし効果をどのように設定しているか把握できません。マイカスタムアラートビュー階層hereUIAlertViewのぼかし効果をコピー/再現

私はこのコードを試してみてください

let blur = UIVisualEffectView(effect: UIBlurEffect(style: .all of them)) 
    blur.frame = self.alertView.frame 
    blur.isUserInteractionEnabled = false 
    self.view.insertSubview(blur, at: 1) 

答えて

-1

あまりにも白または同じ透明度に、プログラム的にぼかしビューを挿入しますが、あまりにも暗くなるしようとしていた -

let blur = UIVisualEffectView(effect: UIBlurEffect(style: .dark)) 
blur.frame = view.frame 
blur.alpha = 0.5 
blur.isUserInteractionEnabled = false 
self.view.insertSubview(blur, at: 1) 

・ホープ、この助けて!

0

彼らはいくつかの異なるダイアログを持っていますが、このようなものは良い出発点である:

/// Composite view of blur + vibrancy + white bg color blending 
/// which recreates the Apple alert dialog effect 
lazy var dialogView: UIVisualEffectView = { 
    let blur = UIBlurEffect(style: .regular) 
    let blurView = UIVisualEffectView(effect: blur) 
    let vibrancy = UIVibrancyEffect(blurEffect: blur) 
    let vibrantView = UIVisualEffectView(effect: blurView.effect) 
    vibrantView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    blurView.contentView.addSubview(vibrantView) 
    blurView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    blurView.layer.cornerRadius = 20 
    blurView.layer.masksToBounds = true 
    let blendView = UIView() 
    blendView.backgroundColor = .white 
    blendView.alpha = 0.5 
    blendView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    blurView.contentView.addSubview(blendView) 
    return blurView 
}() 

は、それからちょうど自動レイアウト/ wのビューと制約に追加します。

関連する問題