-1
我已經創建了一個註冊視圖(class SignUp: UICollectionViewCell
),我有一個代碼再次關閉該視圖例如與一個關閉按鈕。如何從不同的類運行關閉視圖功能?
我發動不同的類(class SignUpLauncher: NSObject, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout
)和代碼來關閉這一觀點也是該類。
現在我想關閉該視圖時註冊成功。在我註冊的I類運行此:
let signUpLauncher = SignUpLauncher()
func handleClose(){
signUpLauncher.handleClose()
}
FIRAuth.auth()?.createUser(withEmail: email, password: password, completion: { (user, err) in
if let error = err {
print(error.localizedDescription)
} else {
guard let uid = user?.uid else{
return
}
//Successfully authenticated user
print("Sucess")
let ref = FIRDatabase.database().reference(fromURL: "myURL.com/")
let usersRef = ref.child("Users").child(uid)
let values = ["name": name, "email": email]
usersRef.updateChildValues(values, withCompletionBlock: { (error, ref) in
if error != nil {
print(error)
return
}
print("Saved user successfully into DB")
self.handleClose()
})
}
})
這是SignUpLauncher
類handleClose()
功能:
func handleClose(){
UIView.animate(withDuration: 0.5) {
self.closeButton.alpha = 0
if let window = UIApplication.shared.keyWindow{
self.self.collectionView.frame = CGRect(x: 0, y: window.frame.height, width: self.collectionView.frame.width, height: self.collectionView.frame.height)
self.navBar.frame = CGRect(x: 0, y: window.frame.height, width: self.navBar.frame.width, height: 65)
self.closeButton.frame = CGRect(x: window.frame.width - 34 ,y: window.frame.height + 30,width: 18,height: 18)
}
}
}
的問題是,什麼也沒有發生。我想,這與self
有關,但我不知道究竟是什麼。
你的問題並沒有多大意義。你聽起來像是試圖關閉一個集合視圖單元格。你不應該那樣做。集合視圖擁有並管理其單元格。如果這不是你的意思,那麼你需要更好地解釋。 –
你說「我正在從SignupLauncher啓動註冊」。你是什麼意思「發射」?應用程序啓動。視圖被添加到超級視圖。視圖控制器被推送或呈現。目前還不清楚'Signup'和'SignupLauncher'是什麼類。 –
爲了更好的理解:我使用UICollectionViewCell作爲構造做了一個自定義View('SignUp')。我不使用UICollectionViewController。 – Burksen