UIView scale to 0 using CGAffineTransformMakeScale

前端 未结 3 1318
孤街浪徒
孤街浪徒 2021-02-20 16:22

Is it possible to scale a UIView down to 0 (width and height is 0) using CGAffineTransformMakeScale?

view.transform = CGAffineTransformMakeScale(0.0f, 0.0f);

Why w

相关标签:
3条回答
  • 2021-02-20 16:27

    There are lots of times when the underlying frameworks need to invert your transform matrix. The inverse of a matrix is some matrix M' such that the product of your matrix M and the inverse matrix M' is the identify matrix 1.

    1 = M * M'

    The zero matrix does not have an inverse, hence the error message.

    0 讨论(0)
  • 2021-02-20 16:38

    you could try:

    CGAffineTransform transform = myView.transform;
    myView.transform = CGAffineTransformScale(transform. 0.0f, 0.0f);
    

    or inline the whole thing.

    0 讨论(0)
  • 2021-02-20 16:39

    I'm not sure it's possible to do this; you'll start running into divide-by-zero issues. If you try to do this, you'll be creating a transform that looks like:

       0  0  0
       0  0  0
       0  0  1
    

    Which, when applied to ANY other transform, will produce the above transform.

    Why not just hide the view (if you want to scale it out of sight) or set the scaling factor to something like 0.001 (if you want to scale it in)?

    0 讨论(0)
提交回复
热议问题