Вы даете ему рамку, которая имеет свое происхождение - вверху слева - в том же положении, в котором она была запущена.Возможно, вы захотите сделать что-то более похожее на это, добавив половину высоты изображения:
CGRect newFrame = CGRectMake(self.imageToSquish.frame.origin.x, self.imageToSquish.frame.origin.y + self.imageToSquish.frame.size.height / 2, self.imageToSquish.frame.size.width, 1);
В качестве альтернативы - и более эффективно - вы можете установить свойство transform
представления изображения, скажем, CGAffineTransformMakeScale(1, 0.01)
вместовозиться со своей рамой.Это будет по центру изображения, и вы можете легко отменить его, установив преобразование на CGAffineTransformIdentity
.