我创建了一个简单的登录请求与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