Objective c 使用AutoLayout将UITextField从隐藏更改为可见时设置动画
我有一个UITextField设置为hidden,当我单击搜索按钮时,我想使其可见,但我想创建一个类似幻灯片的动画,如果我使用autoLayout,是否可以重新创建此效果 我用于动画的代码是当前代码(它创建淡入效果):Objective c 使用AutoLayout将UITextField从隐藏更改为可见时设置动画,objective-c,Objective C,我有一个UITextField设置为hidden,当我单击搜索按钮时,我想使其可见,但我想创建一个类似幻灯片的动画,如果我使用autoLayout,是否可以重新创建此效果 我用于动画的代码是当前代码(它创建淡入效果): 我想要实现的是,当\u searchField被隐藏时,将重新计算约束,以便向上移动searchField下的内容,而不是将按钮设置为隐藏,在加载视图之前将其alpha值设置为0.0。然后将代码更改为: if(!currentSrcState) { [UIView ani
我想要实现的是,当
\u searchField
被隐藏时,将重新计算约束,以便向上移动searchField下的内容,而不是将按钮设置为隐藏,在加载视图之前将其alpha值设置为0.0。然后将代码更改为:
if(!currentSrcState)
{
[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionTransitionCurlDown
animations:^ {
_searchField.alpha = 1.0;
}
completion:nil];
currentSrcState = YES;
}
else
{
[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionTransitionCurlDown
animations:^ {
_searchField.alpha = 0.0;
}
completion:nil];
currentSrcState = NO;
}
抱歉,我认为我解释错了,动画效果很好,问题是UITextField占用的高度仍然存在,即使我将其设置为隐藏,因为它有约束,我想知道的是,是否有可能重新计算约束,以便也有这种动画您是否尝试过将
\u searchField
的帧与.alpha
一起设置动画?我尝试过将高度设置为0,但不起作用
if(!currentSrcState)
{
[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionTransitionCurlDown
animations:^ {
_searchField.alpha = 1.0;
}
completion:nil];
currentSrcState = YES;
}
else
{
[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionTransitionCurlDown
animations:^ {
_searchField.alpha = 0.0;
}
completion:nil];
currentSrcState = NO;
}