如何添加视图(以及缩小或拉伸其他)iOS

时间:2014-03-25 11:16:25

标签: ios objective-c view storyboard uistoryboard

我应该弹出一个视图,从底部开始动画

Two screen, view pop in and hide

此视图(如下面的屏幕截图所示)应隐藏并弹出。(屏幕5-> 6隐藏)(scree 6-> 5 pop in)。

view in question

您可以看到UIWebView(带有文本的视图是UIWebView)需要缩小并适当拉伸。

我想知道这样做的正确方法是什么。我应该创建320pt x 0pt视图(因为它没有高度会被隐藏),然后设置它的“高度”属性的动画,并更新高度限制?或者我应该采取不同的方法?

我使用故事板系统。

非常感谢您的时间和回答

2 个答案:

答案 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的插座。