我創建了一個簡單的登錄請求與UIView的動畫和Alamofire在POST登錄請求奇怪的問題
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON, headers: nil).validate().responseJSON { (response) in
if response.result.isSuccess {
let result = response.result.value
print(result)
let token = response.response?.allHeaderFields["Access-Token"] as! String
print(token)
self.performSegueWithIdentifier("toFirstOnboardingFromLogin", sender: nil)
}
else{
self.emailTextField.layer.borderColor = UIColor.redColor().colorWithAlphaComponent(0.9).CGColor
self.passwordTextField.layer.borderColor = UIColor.redColor().colorWithAlphaComponent(0.9).CGColor
self.emailTextField.layer.borderWidth = 1.0
self.passwordTextField.layer.borderWidth = 1.0
self.passwordTextField.shake()
self.emailTextField.shake()
self.performSegueWithIdentifier("toFirstOnboardingFromLogin", sender: nil)
}
}
的賽格瑞/動畫作品完美,如果結果返回失敗(不正確的登錄憑據),但如果用戶登錄在正確的情況下,動畫會出現毛病並且有些偏移。有任何想法嗎?這是執行segue的同一行代碼,所以我對於它的可能性一無所知。
編輯:嘗試執行所建議的主線程上SEGUE - 沒有運氣
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON, headers: nil).validate().responseJSON { (response) in
if response.result.isSuccess {
let result = response.result.value
print(result)
let token = response.response?.allHeaderFields["Access-Token"] as! String
print(token)
dispatch_async(dispatch_get_main_queue()) {
//PerformSegue here ...
self.performSegueWithIdentifier("toFirstOnboardingFromLogin", sender: nil)
}
}
else{
self.emailTextField.layer.borderColor = UIColor.redColor().colorWithAlphaComponent(0.9).CGColor
self.passwordTextField.layer.borderColor = UIColor.redColor().colorWithAlphaComponent(0.9).CGColor
self.emailTextField.layer.borderWidth = 1.0
self.passwordTextField.layer.borderWidth = 1.0
self.passwordTextField.shake()
self.emailTextField.shake()
self.performSegueWithIdentifier("toFirstOnboardingFromLogin", sender: nil)
}
}
編輯:
我使用dispatch_sync沒有運氣
刪除打印語句,然後嘗試。 – Himanshu
嘗試過它並沒有什麼區別 – air6199