Если вы хотите показать только центр изображения и UIImageView, установите режим содержимого «Aspect Fill» через IB. Это отцентрирует его и обрежет все лишнее.
или в коде
myImageView.contentMode = UIViewContentModeScaleAspectFill;
или
Подкласс UIView и в методе drawRect отрегулируйте прямоугольник и вытяните обрезанное изображение, используя CGContextDrawImage (context, rect, sourceImage.CGImage).
или
Используйте CALayers. Вы можете настроить 'contentRect' слоя imageView:
CALayer* imageLayer = imageView.layer;
imageLayer.masksToBounds = YES;
CGRect rect;
if (inPortrait)
rect = CGRectMake(0.0, 0.0, 0.5, 1.0); // half size
else
rect = CGRectMake(0.0, 0.0, 1.0, 1.0); // full size
imageLayer.contentsRect = rect;