У меня проблема с UIImageView внутри UIScrollView. В интерфейсе Builder UIScrollView занимает весь экран, а UIImageView занимает весь UIScrollView. Проблема в том, что когда у меня есть изображение, ориентированное на ландшафт, у меня он установлен на аспект, поэтому у меня есть серые полосы сверху и снизу (что я и хочу). Однако, когда я увеличиваю масштаб фотографии, как только фотография масштабируется достаточно большой, чтобы соответствовать вертикали экрана, я хочу, чтобы она не качалась в серой зоне, которая была над ней. Смотрите скриншоты, которые я приложил. Я в основном хочу, чтобы он работал как приложение «Фотографии» в этом отношении. Вот мой код для настройки UIScrollView и UIImageView:UIImageView внутри UIScrollView Pans Too Far
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.imageView.image = [UIImage imageNamed:@"IMG_0300.JPG"];
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
self.scrollView.clipsToBounds = YES;
self.scrollView.contentSize = self.imageView.bounds.size;
self.scrollView.zoomScale = 1.0;
self.scrollView.maximumZoomScale = 5.0;
self.scrollView.minimumZoomScale = 1.0;
}
-(void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
Спасибо заранее.
Jacob
Спасибо, этот ответ настолько хорошо, что я принимаю его в два раза, если бы я мог :) –
Великого. Благодарю . Помогло мне много – sajwan
Я реализовал ваш код и в viewDidAppear: анимированные границы UIImageView вернулись к размеру, объявленному в раскадровке. У вас есть ключ к тому, что может вызвать это? –