mam przeżywa słabe renderowanie efektu żywiołowość na moim iPhone 6.UIVibrancyEffect przyciemnione na urządzeniu, żywy w symulatorze
Jak to wygląda:
Sprawdziłem wartość UIAccessibilityIsReduceTransparencyEnabled()
i zwraca wartość false na obu urządzeniach iw symulatorze.
Kod dla obrazu tła, efektów i containerView że dodać co inne elementy wygląda następująco:
import Foundation
import UIKit
import PureLayout
class BackgroundImageView : UIView {
let bgImage = UIImageView(forAutoLayout:())
var blurView:UIVisualEffectView!
var vibrancyView:UIVisualEffectView!
var containerView: UIView? = nil {
willSet(container) {
vibrancyView.contentView.addSubview(container!)
}
}
init(imageName: String) {
super.init()
let screenSize: CGRect = UIScreen.mainScreen().bounds
bgImage.image = UIImage(named: imageName)
// Scale relative to the size of the iPhone 6 Plus: http://martinnormark.com/smooth-transition-from-launch-image-to-view-controller-in-ios/
bgImage.transform = CGAffineTransformMakeScale(screenSize.width/414, screenSize.height/736)
self.addSubview(bgImage)
let blurEffect = UIBlurEffect(style: .Dark)
self.blurView = UIVisualEffectView(effect: blurEffect)
self.blurView.setTranslatesAutoresizingMaskIntoConstraints(false)
self.addSubview(blurView)
let vibrancyEffect = UIVibrancyEffect(forBlurEffect: blurEffect)
vibrancyView = UIVisualEffectView(effect: vibrancyEffect)
vibrancyView.setTranslatesAutoresizingMaskIntoConstraints(false)
blurView.contentView.addSubview(vibrancyView)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func updateConstraints() {
super.updateConstraints()
bgImage.autoCenterInSuperview()
containerView?.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero)
blurView.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero)
vibrancyView.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero)
}
}
Nie, tak też nie było. – MartinHN
Czy możesz udostępnić obraz użyty jako tło? jak obraz z "Host"? – gabbler
Oczywiście: https://www.dropbox.com/sh/52u7vajsrgp6qf3/AAAJP6uepRF9DUV3lyJxuZLaa?dl=0 Tylko dla jasności. Pozostawiam pytanie otwarte, aby umożliwić komuś zdobycie nagrody za pozostałe 3 dni. Rozwiązałem problem, więc jeśli nie polujesz na nagrodę, nie rób tego bez końca. – MartinHN