Увеличение UIImageView без scrollView и WebView - PullRequest
0 голосов
/ 06 апреля 2010

Есть ли пример кода, который учит, как увеличивать и уменьшать масштаб в UIImageView пользовательскими нажатиями?

Я знаю, что это можно сделать с помощью UIScrollView и UIWebView, но оба этих решения требуют значительных изменений в моем коде, и я работаю по графику из-за крайних сроков проекта колледжа.

Мне нужен в основном пример того, как манипулировать непосредственно UIImageView, с тем же поведением, что и фотоальбом в iPhone:

  • первое двойное касание -> увеличить
  • второе двойное касание -> уменьшить
  • сжимайте и масштабируйте с помощью «двухпалого» мультитача

Большое спасибо!

1 Ответ

0 голосов
/ 06 апреля 2010

Я не уверен, что развертывание вашего собственного решения будет проще, чем UIScrollView или UIWebView. Однако, если вы настроены на развертывание собственного решения, это можно сделать с помощью пользовательской обработки событий и изменения фрейма UIImageView. Вам нужно будет обработать сенсорные события в UIImageView (или его контейнере), переопределив следующие методы:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

В этих методах вам нужно будет различать метчики и пинчи и соответственно устанавливать рамку UIImageView. Помните, что frame - это свойство анимации UIView, поэтому вы также можете анимировать эти изменения.

Если у вас еще нет представления о том, как вы собираетесь обрабатывать события в этих методах, я настоятельно рекомендую вам пересмотреть использование UIScrollView или UIWebView, чтобы делать то, что вы хотите.

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