防止键盘移动视图

preventing keyboard from moving view

我在另一个包含搜索栏的视图之上有一个隐藏视图。按下按钮时,视图会向下滑动到屏幕上。现在,如果我按下搜索栏,视图就会回到原来的位置。 有帮助吗?

执行移动的代码:

_FilterViewYPosition = _FilterView.frame.origin.y;
}
[UIView animateWithDuration:0.5 animations:^{
    _FilterView.frame = CGRectMake(0.0,44, _FilterView.frame.size.width, _FilterView.frame.size.height);
}];

搜索栏本身目前没有连接到代码中的任何内容,只存在于情节提要中。

问题在于,在您的动画中,您通过 frame 定位 _FilterView。但是由于自动布局,此视图受约束定位。因此,当您使用搜索栏时,会进行布局,并且约束会接管。您没有更改约束,因此它们与 frame 发生冲突——它们获胜。因此跳回到原来的位置。

解决方案是:要为该视图的位置设置动画,请为其约束而不是其frame.

设置动画。