我在另一个视图的顶部有一个隐藏的视图,其中有一个搜索栏。按下按钮时,视图向下滑动到屏幕。现在,如果我按下搜索栏,视图就会移回原来的位置。 帮助
执行移动的代码:
_FilterViewYPosition = _FilterView.frame.origin.y;
}
[UIView animateWithDuration:0.5 animations:^{
_FilterView.frame = CGRectMake(0.0,44, _FilterView.frame.size.width, _FilterView.frame.size.height);
}];
此时搜索栏本身未与代码中的任何内容相关联,并且仅存在于故事板中。
答案 0 :(得分:0)
问题在于,在动画中,您将_FilterView
定位frame
。但由于自动布局,此视图由约束定位。因此,当您使用搜索栏时,将进行布局,并且约束将接管。您没有更改约束,因此它们与frame
冲突 - 并且它们获胜。因此跳回到原来的位置。
解决方案是:为此视图的位置设置动画,为其约束中的更改设置动画,而不是其frame
。