Я пробовал искать ответы для этого, но я понятия не имею, что искать, и я нахожусь в конце. У меня есть UIScrollView, который при масштабировании полностью переворачивается, и изображение падает повсюду, прежде чем полностью исчезнуть. Иногда даже удается временно испортить другие компоненты, которые даже не являются частью UIScrollView, в котором происходит масштабирование. Прошу прощения, я не могу быть более техническим. Я даже не знаю, какую часть моего кода посмотреть.UIScrollView сходит с ума при масштабировании?
Я сделал видео, потому что у меня нет технической терминологии, чтобы описать, что здесь происходит. Любая помощь будет оценена по достоинству.
https://www.youtube.com/watch?v=SvhqHI-3_g8
красный мой текущий фон из UIScrollView. Не против.
ViewController.h
@interface ViewController : UIViewController <UIActionSheetDelegate, UIImagePickerControllerDelegate, UIScrollViewDelegate>
@property (strong, nonatomic) UIImage *workingImage;
@property (weak, nonatomic) IBOutlet UIImageView *chosenImageView;
@property (weak, nonatomic) IBOutlet UIScrollView *imageScroller;
-(IBAction)cameraButtonPressed;
@end
ViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.imageScroller.minimumZoomScale = 1.00f;
self.imageScroller.maximumZoomScale = 15.0f;
self.imageScroller.contentSize = self.imageScroller.frame.size;
self.imageScroller.scrollEnabled = YES;
}
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.chosenImageView;
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *chosenImage = [info objectForKey:UIImagePickerControllerOriginalImage];
[self.chosenImageView setImage:chosenImage];
[self.imageScroller setContentSize:chosenImage.size];
[self dismissViewControllerAnimated:YES completion:nil];
}
Некоторый код был бы полезен. Что у вас есть, что взаимодействует с текущей позицией/уровнем масштабирования/прокруткой/и т. Д.? – Garrett
Абсолютно ничего. Единственный метод, который я реализовал, - это яблоко, рекомендованное 'viewForZoomingInScrollView', которое я добавлю к вопросу. – Rob
Не уверен, что причина этого, но настройка 'contentSize' как размера представления не совсем хорошая практика. Попробуйте установить «contentSize» в качестве размера кадра изображения при его загрузке. – Garrett