P5y*_*cH0 55 parse-platform swift ios8.1
我正在使用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
//
}
}
Run Code Online (Sandbox Code Playgroud)
我的logincontroller使用的子类:
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
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它透明?
Ps将clearColor应用于子类中的backgroundColor没有任何区别
Nit*_*ain 41
部分解决方案隐藏在问题中.你需要三条线来使背景透明,即.isOpaque = false
backgroundColor = .clear
并设置modalPresentationStyle
这是完整的解决方案.在调用View Controller中,调用此函数:
func presentModal() {
let modalController = ModalViewController()
modalViewController.modalPresentationStyle = .overCurrentContext
present(modalViewController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
并在ModalViewController
's viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
view.isOpaque = false
view.backgroundColor = .clear // try other colors, say: .white or black with Alpha etc.
}
Run Code Online (Sandbox Code Playgroud)
我有两个视图控制器,第一次登录和第二次忘记密码。最初,点击忘记密码按钮即可看到登录屏幕,忘记密码屏幕将以透明背景显示在登录屏幕上。
在登录屏幕中,我使用以下代码为forgetButtonAction 呈现forgetPasswordViewController
let vc = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "forgotPasswordViewController") as! forgotPasswordViewController
vc.modalPresentationStyle = .overCurrentContext
present(vc, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
而且还在forgotPasswordViewController中,在ViewDidLoad方法下,我必须通过以下代码更改视图背景颜色和不透明状态
override func viewDidLoad() {
super.viewDidLoad()
view.isOpaque = false
view.backgroundColor = .clear
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
37063 次 |
最近记录: |