使用AutoLayout缩放图像

时间:2015-10-01 00:33:10

标签: ios xcode storyboard autolayout

所以我希望在屏幕的下半部分显示一个图像,然后将其设置为较小的比例并将其附加到顶部/右侧。抱歉粗略的图像,但这基本上是我想要的:

Original Placement Final Placement

我认为我可以通过限制视图的顶部,右侧和纵横比来实现这一点,然后只为我的纵横比约束的变化设置动画。不幸的是,当我这样做时,IB尖叫我的视图没有合适的X值,当我为比例设置动画时,我的视图最终会缩小,但仍然是全宽。

我希望这是有道理的,有人可以帮助我弄清楚如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

好的,我明白了。让我们看看我是否可以为其他人清楚地解释它。

位置1约束:

  • 左= 0
  • 右= 0
  • Bottom = 0
  • Top = 150

位置2约束:

  • Top = 40
  • 纵横比高度超级0.25(我使用PureLayout 不确定通用样式约束会是什么样子)
  • 方面 比率宽度为SuperView 0.25

做我的动画:

- (void)animateAgent
{
    self.agentTop.constant = 40.0;
    [NSLayoutConstraint deactivateConstraints:@[ self.agentBottom, self.agentLeft ]];
    self.agentHeightRatio = [self.agentContainer autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.animationContainer withMultiplier:0.25];
    self.agentWidthRatio = [self.agentContainer autoMatchDimension:ALDimensionWidth toDimension:ALDimensionHeight ofView:self.animationContainer withMultiplier:0.25];

    [self.view setNeedsLayout];
    [UIView animateWithDuration:0.3 animations:^{
    [self.view layoutIfNeeded];
    }];
}