iphone рисует поверх UIScrollView с помощью мультитач

#iphone #multi-touch

#iPhone #мультитач

Вопрос:

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

Если да, могу ли я просто использовать touchesBegan, touchesMoved, … с новым подклассом UIView? И если нет, то как мне подключить касания к логике рисования.

Спасибо!

Ответ №1:

Чтобы получить метод touch в UIScrollView, вам нужно создать свой собственный класс для Scrollview, который является подклассом UIscollview, и использовать этот класс вместо UIScrollView. Поскольку ваш класс является подклассом UIScrollView, вы можете получить все методы UIScrollView через объект вашего класса.

Теперь для получения метода touch вы получите в своем классе и, используя пользовательский делегат, сможете вызывать в любом классе.

Комментарии:

1. Спасибо за предложение. Это работает, за исключением того, что круги, которые я пытаюсь нарисовать (используя drawRect в подклассе UIScrollView), отображаются под изображением, которое я добавил в ScrollView. Есть предложения?

2. Я не понимаю вашу точную проблему. не могли бы вы, пожалуйста, уточнить это.

3. Спасибо. В моем viewcontroller я использую инструкцию:

4. В моем контроллере просмотра я использую инструкцию [ScrollView addSubview:myImage]; для добавления изображения в мой пользовательский scrollview. Затем в пользовательском scrollview я использую событие — (void)touchesBegan: (NSSet *)touches withEvent:(UIEvent *) для определения касания и местоположения. Далее я использую — (void)drawRect:(CGRect) rect для создания кругов. Наконец, я использую [self setNeedsDisplay] в методе — (void)touchesBegan для рисования кругов в режиме прокрутки. Круги нарисованы нормально, но под изображением, которое я изначально добавил. Как я могу нарисовать круги над изображением?