私は Parse と ParseUI を使用しています。PFLoginViewController サブクラスの背景を透明にしたいと考えています。将来的には、背景の上にぼかしビューを配置したいと考えています。
しかし.... PFLoginViewController のアニメーション化が完了すると、背景が黒くなります... アニメーション中は背景は透明でした。
func presentLogin() {
var loginViewController = LoginViewController()
var signupViewController = SignUpViewController()
loginViewController.fields = .UsernameAndPassword | .LogInButton | .PasswordForgotten | .SignUpButton | PFLogInFields.DismissButton
signupViewController.fields = .UsernameAndPassword | .Email | .DismissButton | .SignUpButton
loginViewController.delegate = self
loginViewController.logInView.backgroundColor = UIColor.clearColor()
loginViewController.logInView.opaque = false
signupViewController.delegate = self
loginViewController.signUpController = signupViewController
self.presentViewController(loginViewController, animated: true) { () -> Void in
//
}
}
私のログインコントローラが使用したサブクラス:
class LoginViewController: PFLogInViewController {
@IBOutlet weak var _nmcLogoLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let userName = SettingsManager.userName
let password = SettingsManager.password
self.logInView.usernameField.text = userName
self.logInView.passwordField.text = password
NSBundle.mainBundle().loadNibNamed("LoginViewBranding", owner: self, options: nil)[0] as? UIView
self.logInView.logo = _nmcLogoLabel
}
}
どうすれば透明にできますか?
Ps サブクラスでclearColorをbackgroundColorに適用しても違いはありません
ベストアンサー1
修正しました。
問題は、presentViewController がカバーしていたビューを保持しないことでした。
viewController.modalPresentationStyle = .overCurrentContext
うまくいきました。