0

我在 iPhone 屏幕上有两个视图,一个在另一个之上(mediaControls 在 deviceWebView 之上)。当我隐藏顶视图时,我希望底视图占据整个屏幕,当我显示顶视图时,我希望底视图再次调整大小以低于顶视图。这似乎很简单,但我遇到了麻烦。我试过只隐藏视图以及调整布局约束,如下所示。

这是我的代码:

-(void)hideVideoButtons{
    self.mediaControls.hidden = YES;
    [self.view removeConstraint:self.deviceLayoutConstraint];
    [self.deviceWebView setNeedsDisplay];
}
-(void)showVideoButtons{
    self.mediaControls.hidden=NO;
    self.deviceLayoutConstraint = [NSLayoutConstraint constraintWithItem:self.deviceWebView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.mediaControls attribute:NSLayoutAttributeBottom multiplier:1 constant:0];
    [self.view addConstraint:self.deviceLayoutConstraint];
4

1 回答 1

0

你试过 UIView animateWithDuration: animations: 方法吗?您可以将 UIView 设置为您想要的任何位置,您可以调整它们的大小等等。

[UIView animateWithDuration:1.0 animations:^{
   // moving the device web view 
   self.deviceWebView.transform = CGAffineTransformMakeTranslation(xVar, yVar);
   // moving the other view
   otherView.transform = CGAffineTransformMakeTranslation(xVar, yVar);
}];

xVar 和 yVar 不是正在设置的变量。他们只是展示了该方法的用法。您可以将它们替换为要将视图的 x 和 y 移动到的屏幕的 x 和 y 位置。我不完全确定这是否是您正在寻找的,但似乎您正在寻找一种动画视图的方法,所以这里有一个建议:)

希望这可以帮助!

于 2013-08-07T18:58:47.423 回答