как получить сенсорные координаты на изображении, а затем нарисовать значок разметки и его содержимое в виде всплывающего окна - PullRequest
1 голос
/ 21 января 2011

Я хотел бы создать приложение для iPhone / iPad, чтобы показать большие изображения (в scrollView или что-то еще, которые поддерживают перетаскивание и масштабирование), которые позволяют пользователю:

  • Нажмите где-нибудь на изображении, чтобы добавить разметку и оставить комментарий
  • Пользователь может нажать на этот значок / кнопку разметки, чтобы просмотреть комментарий в popOverView
  • Редактировать комментарий или удалить эту разметку

Итак, я хочу спросить, что:

  • Как получить координаты касания на изображении (не на экране)?
  • Как нарисовать значок / кнопку разметки в точке касания на изображении, и она будет следовать за изображением даже при перетаскивании, масштабировании, поскольку изображение действительно большое, может быть до 8000x6000 пикселей?
  • Как отобразить комментарий / заметку, когда пользователь касается значка / кнопки разметки в представлении, подобном popOverview в iPad?
  • Сохраните и загрузите эту информацию.

Это почти похоже на тегирование функциональности приложения Facebook в iPhone.

Любая помощь приветствуется, спасибо заранее!

1 Ответ

0 голосов
/ 21 января 2011

1.Вы создаете подкласс UIImageView и переопределяете методы касания:

  • (void) touchesBegan: (NSSet *) касания с событиемEEvent: (UIEvent *)
  • (void) touchesMoved:(NSSet *) касается сEvent: (UIEvent *) событие
  • (void) touchesEnded: (NSSet *) касается сEvent: (UIEvent *) событие
  • (void) touchchesCancelled: (NSSet *)касается события: (UIEvent *)

2.Вы добавляете и UIButton в UIImageView [yourImageView addSubview:yourButton];, затем устанавливаете центр вашей кнопки, чтобы касаться координат.

3.Просто представьте всплывающее окно, когда пользователь нажимает на кнопку.(Вы можете установить свойство тега для кнопок, чтобы знать, какая кнопка нажата)

4.Сохраните данные в каталог plist to documents, если не сложный или используйте основные данные.

Удачи.Просто оставляйте комментарии, если вам нужна дополнительная помощь.

Редактировать: вам нужно установить для пользователя userInteractionEnabled значение YES для UIImageView.

userInteractionEnabled Логическое значение, определяющее, игнорируются ли пользовательские события.и удален из очереди событий.

@ property (nonatomic, getter = isUserInteractionEnabled) BOOL userInteractionEnabled Обсуждение Это свойство наследуется от родительского класса UIView.Этот класс изменяет значение по умолчанию этого свойства на NO.

Доступен Доступно в iOS 2.0 и более поздних версиях.Объявлен в UIImageView.h

С Ссылка на класс UIImageView

...