如何在屏幕上“关闭”UIViewController的一些子视图以及屏幕上的其他视图?

时间:2015-06-09 01:38:54

标签: ios objective-c uiviewcontroller core-graphics

这就是我想要实现的目标,我已经制作了3张图片,这些图片可以更好地描述我想做的事情比以往更好。

这就是我想要做的......

enter image description here

enter image description here

enter image description here

我希望将“App Title”保持在原位。我现在还有一个UIImageView,它占据了深黑色的整个屏幕,我希望它像“App Title”一样保持固定。

然而,在第一张图片上,当用户点击“创建帐户”时,我想要为屏幕左下角的所有按钮设置动画,然后从右侧的“创建帐户”按钮设置动画。

我该怎么办呢。

请记住我正在使用故事板和自动布局限制。我在图片#1中创建了视图。现在我需要弄清楚如何在“创建帐户”视图中设置动画。我怎么能这样做,同时继续使用故事板/ IB和自动布局,当然它适合所有手机?

1 个答案:

答案 0 :(得分:1)

请举例说明如何操作

首先,我建议您使用包含视图来包含文本字段和按钮。然后它变为动画两个包含视图。

  1. 将x位置的约束拖动为插座,在此演示中,它是中心x。还拖动两个包含视图

    @property (weak, nonatomic) IBOutlet UIView *yellowView;
    @property (weak, nonatomic) IBOutlet UIView *greenView;
    @property (weak, nonatomic) IBOutlet NSLayoutConstraint *greenConstraint;
    @property (weak, nonatomic) IBOutlet NSLayoutConstraint *yellowConstraint;
    
    1. 然后在viewDidLoad中,将yellowView设置为离开屏幕并设置隐藏 是的

      - (void)viewDidLoad {
           super viewDidLoad];
           self.yellowConstraint.constant = CGRectGetWidth(self.view.frame);
          [self.view layoutIfNeeded];
           self.yellowView.hidden = YES;
        }
      
    2. 点击后,动画显示黄色视图

      - (IBAction)start:(id)sender {
          self.yellowConstraint.constant = 0;
          self.yellowView.hidden = NO;
          self.greenConstraint.constant = -1 * CGRectGetWidth(self.view.frame);
         [UIView animateWithDuration:0.5 animations:^{
            [self.view layoutIfNeeded];
         } completion:^(BOOL finished) {
            self.greenView.hidden = YES;
      }];
        }