【问题标题】:How do I get a CGAffineTransformMakeScale to shrink a view around its center?如何让 CGAffineTransform Scale 围绕其中心缩小视图?
【发布时间】:2010-05-03 21:39:34
【问题描述】:

这应该很简单——当我在UIView 上使用CGAffineTransformMakeScalewidth = 0.5height = 0.5 时,它会缩小到左上角。我需要它围绕它的中心收缩。

我怎样才能做到这一点?

【问题讨论】:

    标签: cocoa-touch iphone-sdk-3.0 uiview core-graphics affinetransform


    【解决方案1】:

    如果您遇到相同的行为,请务必关闭自动布局!

    【讨论】:

      【解决方案2】:

      啊哈,想通了。我正在做一些自定义绘图并且混淆了框架和边界。

      【讨论】:

      • 您好,您可以扩展您的回答/问题吗?这个问题在谷歌上排名很高。全世界都在注视着;)
      • 在设置新变换之前保存中心,然后在完成后重新设置中心。
      【解决方案3】:

      默认情况下,CGAffineTransformMakeScale 围绕 UIView 的中心缩放。

      例如:

      [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{
          self.myView.transform = CGAffineTransformMakeScale(2, 2);
      }  completion:nil ]; 
      

      .. 将使 myView 的大小增加一倍,并围绕其中心缩放。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-14
        • 1970-01-01
        • 2014-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-22
        • 2011-05-10
        相关资源
        最近更新 更多