防止键盘移动视图

时间:2015-09-12 13:57:05

标签: ios objective-c uiview uisearchbar

我在另一个视图的顶部有一个隐藏的视图,其中有一个搜索栏。按下按钮时,视图向下滑动到屏幕。现在,如果我按下搜索栏,视图就会移回原来的位置。 帮助

执行移动的代码:

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

此时搜索栏本身未与代码中的任何内容相关联,并且仅存在于故事板中。

1 个答案:

答案 0 :(得分:0)

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

解决方案是:为此视图的位置设置动画,为其约束中的更改设置动画,而不是其frame