UIView масштабировать до 0 с помощью CGAffineTransformMakeScale
Можно ли масштабировать UIView до 0 (ширина и высота равны 0) с помощью CGAffineTransformMakeScale?
Вид.transform = CGAffineTransformMakeScale(0.0 f, 0.0 f);
Почему это приведет к ошибке " <Error>: CGAffineTransformInvert: singular matrix.
"?
обновление: Есть еще один способ уменьшить UIView до 0
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
view.frame = CGRectMake(view.center.x, view.center.y, 0, 0);
[UIView commitAnimations];
3 ответа:
Есть много случаев, когда базовые структуры должны инвертировать вашу матрицу преобразования. Обратная матрица такая матрица м', таких, что произведение матрицы м и обратная матрица M-это определение матрицы 1.
1 = M * M '
Нулевая матрица не имеет обратной связи, отсюда и сообщение об ошибке.
Я не уверен, что это возможно сделать; вы начнете сталкиваться с проблемами деления на ноль. Если вы попытаетесь сделать это, то создадите преобразование, которое будет выглядеть следующим образом:
{[0]}
Который, будучи применен к любому другому преобразованию, произведет вышеупомянутое преобразование.
Почему бы просто не скрыть вид (если вы хотите масштабировать его с глаз долой) или установить коэффициент масштабирования на что-то вроде 0,001 (если вы хотите масштабировать его)?