我在界面上创建了一个视图&点击按钮使用uianimation降低高度.Below是动画的代码
@IBAction func filterClick(sender: AnyObject) {
STF_Search.resignFirstResponder()
UIView.animateWithDuration(0.3, animations:{
if(self.isFilter==false){
self.filterView.frame=CGRectMake(0,117,self.view.frame.size.width,50)
self.STVRA.frame=CGRectMake(0, 168,self.STVRA.frame.size.width,self.STVRA.frame.size.height)
self.isFilter=true
}
else{
self.filterView.frame=CGRectMake(0,117,self.view.frame.size.width,0)
self.tableView.frame=CGRectMake(0, 117,self.STVRA.frame.size.width,self.STVRA.frame.size.height)
self.dateTo="nil"
self.dateFrom="nil"
self.isControlls(true)
self.isFilter=false
}
}
,completion: {(_) -> Void in
if(self.isFilter==true){
self.isControlls(false)
}
else{
self.callRAListWebApi()
}
})
}
如果我在上面的场景中没有调用方法“self.callRAListWebApi()”,那么代码工作正常,当这个方法的执行完成“filterView”进入其默认高度 - > 50这不应该按照逻辑应该是“0” (“callRAListWebApi”是一种方法,我正在点击web api并获得一些json响应) 我无法理解这种不正常的“过滤视图”行为是否会进入其原始高度。我已经检查了所有没有任何线索的内容。
答案 0 :(得分:3)
创建视图的autolayout
,因为问题是因为您正在直接更改框架。