我应该弹出一个视图,从底部开始动画
此视图(如下面的屏幕截图所示)应隐藏并弹出。(屏幕5-> 6隐藏)(scree 6-> 5 pop in)。
您可以看到UIWebView(带有文本的视图是UIWebView)需要缩小并适当拉伸。
我想知道这样做的正确方法是什么。我应该创建320pt x 0pt视图(因为它没有高度会被隐藏),然后设置它的“高度”属性的动画,并更新高度限制?或者我应该采取不同的方法?
我使用故事板系统。
非常感谢您的时间和回答
答案 0 :(得分:1)
1)在视图5中设计您的屏幕。
2)使用弹出视图的“已打开”高度设置约束。上面的视图底部需要连接到弹出视图的顶部,而顶视图显然不应该有固定的高度。
3)为高度约束
创建一个出口4)在windowDidLoad中,通过从约束中获取“打开”高度来存储“打开”高度(这样您就不必在代码中单独维护它)。例如(其中_popUpHeight是CGFloat成员变量):
- (void)viewDidLoad
{
_popUpHeight = _popUpHeightConstraint.constant;
}
5)在需要时为约束设置动画。像这样:
- (IBAction)togglePopup:(id)sender {
[UIView animateWithDuration:5
animations:^{
_addBannerDistanceFromBottomConstraint.constant = (_popupState) ? 0 : _popUpHeight;
}];
_popupState = !_popupState;
}
答案 1 :(得分:0)
试试这段代码:
[UIView animateWithDuration:duration
delay:delay
options:UIViewAnimationOptionCurveEaseInOut
animations:^(void) {
viewToChange.frame = CGRectMake(x, y, width, height);
}
completion:NULL];
您需要一个viewToChange的插座。