UIScrollView загрузка изображения - PullRequest
0 голосов
/ 08 июня 2010

Я хотел найти «простой» способ использования функции пинч / зум в моем приложении!поэтому я решил использовать UIScrollView.пока все хорошо.

Я загружаю свое изображение из базы данных sqlite примерно так:

        - (void)viewWillAppear:(BOOL)animated {
            imageView.image = entity.Aattribute;
        }


    - (void)viewDidLoad {
                self.title = @"Title";

        imageView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
        imageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
        imageView.contentMode = UIViewContentModeScaleAspectFit;
        imageView.backgroundColor = [UIColor blackColor];


            myScrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height);
            myScrollView.maximumZoomScale = 4.0;
            myScrollView.minimumZoomScale = 0.75;
            myScrollView.clipsToBounds = YES;
            myScrollView.delegate = self;

            [myScrollView addSubview:imageView];


 self.view = myScrollView;



        }


        - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
            return imageView;
        }

любая помощь будет оценена!

спасибо за ваше время!

РЕДАКТИРОВАТЬ: Я просто собираюсь ответить на мой собственный вопрос здесь!(Я поправляюсь в этом !!! LOL)

выше - рабочий код.я отредактировал это так, если кому-то нужно это может обратиться к этому!спасибо за ответы!

1 Ответ

0 голосов
/ 08 июня 2010

Это выглядит в основном правильно. Пара заметок:

  • вы ошиблись "viewDidLoad". Это может быть побочным эффектом ввода его в окне браузера. Если это неправильно в вашем коде, то это, безусловно, не поможет улучшить ситуацию.
  • viewForZoomingInScrollView: ожидает от вас возврата UIView. myImage звучит подозрительно в отличие от a UIView. Вы должны возвращать переменную экземпляра imageView. Вот что движется вокруг.

Редактировать

Из документации :

Класс UIScrollView может иметь делегат, который должен принять UIScrollViewDelegate протокол. За масштабирование и панорамирование на работу, делегат должен реализовать оба viewForZoomingInScrollView : и scrollViewDidEndZooming: withView: atScale: ; кроме того, максимум ( MaximumZoomScale ) и минимум ( imumZoomScale ) Масштаб увеличения должен быть отличается. * +1035 *

Похоже, вам все еще нужно реализовать другой метод делегата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...