Я делаю простой просмотрщик фотографий, который позволяет масштабировать и панорамировать.
, поэтому в IB я создаю UIScrollView, содержащий UIImageView:
Затем яможно настроить его для размещения фотографии, как только она станет доступна:
- (void) imageCaptureCompleted
{
{
UIImage* I = self.frontCamView.stillImage;
self.imageView.bounds = CGRectMake(0, 0, I.size.width, I.size.height );
self.imageView.image = I;
// - - -
self.scrollView.maximumZoomScale = 4.0;
self.scrollView.minimumZoomScale = 0.75;
self.scrollView.clipsToBounds = YES;
self.scrollView.delegate = self;
self.scrollView.contentSize = self.imageView.bounds.size;
}
[self hideCaptureView];
UIImageWriteToSavedPhotosAlbum( self.frontCamView.stillImage,
self,
@selector( image: didFinishSavingWithError: contextInfo: ),
nil );
}
- (UIView *) viewForZoomingInScrollView: (UIScrollView *) scrollView
{
return self.imageView;
}
Это почти работает.Это действительно позволяет мне панорамировать и масштабировать.
Однако, это панорамирование слишком далеко!Это должно прийти в норму, когда это касается правого края фотографии.но вместо этого он ведет себя так, как будто фотография находится в большем черном прямоугольнике.
Я настроил маски с автоматическим изменением размеров вида прокрутки точно так же, как на рисунке выше.
Какзаставить его работать?
PS Я уже понял это;Я поставлю ответ для потомков.