2015-04-14 2 views
0

Я пытаюсь разработать приложение «Фото», в котором, когда пользователь просматривает изображение, определенная часть (предопределенная прямоугольная область) изображения масштабируется и масштабируется в соответствии с размерами экрана и последующими проходами других (предопределенных) частей изображения можно увеличить аналогичным образом.Как показать увеличенную часть изображения в предопределенном прямоугольнике?

А также переходы на другие части изображения должны быть бесшовными.

Я не совсем знаком с каркасом кварцевого сердечника. С чего начать?

EDIT:

В аспекте подходят масштабируемую часть изображения, я сделал это:

if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) { 
    [UIView animateWithDuration:1.0 animations:^{ 
     self.myScrollView.frame = CGRectMake((self.view.bounds.size.width - zoomWidth)/2, (self.view.bounds.size.height - zoomHeight)/2, zoomWidth, zoomHeight); 
     [self.myScrollView zoomToRect:CGRectMake(10, 10, zoomWidth, zoomHeight) animated:NO]; 
    }]; 
} 

ответ

1

Я не думаю, что вам, возможно, придется использовать кварцевый сердечник (который используется для пользовательский чертеж). На ум приходит два способа достижения вашего дела. Они будут больше намеков, так как мы не знаем много деталей о корпусе/архитектуре.

  1. UIScrollView может помочь вам увеличить/уменьшить масштаб для изображения и вы можете «заблокировать» зум на новый регион с contentSize, contentOffset, zoomScale и так далее свойств.
  2. свойство contentsRect CALayer может быть полезным, поскольку он использует только часть изображения вы поставляете в качестве основы образа слоя стесненного прилагаемой CGRect
+0

я впервые начал с CALayer но это не очень хорошо, поэтому я сделал это с помощью UIScrollView, и до сих пор он работает так, как ожидалось, за исключением того факта, что я не могу ** рассмотреть размер ** увеличенного кадра scrollview на экране моего устройства. Есть идеи, как это сделать? – enigma

+0

Можете ли вы опубликовать какой-то код, поэтому вам легче дать вам совет для конкретной ситуации. :) –

+0

'if (распознавание.direction == UISwipeGestureRecognizerDirectionLeft) { [UIView animateWithDuration: 1.0 анимации:^{ self.myScrollView.frame = CGRectMake ((self.view.bounds.size.width - zoomWidth)/2, (self.view.bounds.size.height - zoomHeight)/2, zoomWidth, zoomHeight); [self.myScrollView zoomToRect: CGRectMake (10, 10, zoomWidth, zoomHeight) animated: NO]; }]; } ' здесь плохое форматирование. Я добавлю это к моему вопросу. – enigma