Есть ли способ, позволяющий бесконечную прокрутку UIimageview при помещении внутрь UIscollview, при этом позволяя писать карандашом с помощью яблока?

Я делаю приборную панель, которая позволяет мне писать с помощью яблочного карандаша на iPad. Панель инструментов содержит uiimageview поверх uiscrollview. Я хочу, чтобы этот uiscrollview прокручивался бесконечно, когда пользователь прокручивал страницу вниз. Моя цель - реализовать функциональность, которая есть в каждой заметке, делающей приложение, включенной с помощью карандаша Apple и Ipad.

  1. Я попытался настроить autolayout на uiscrollview и uiimageview, но это работает, если у вас уже есть массив изображений или определенное изображение, а затем прокручивается вниз для всех изображений. Но в моем случае у меня нет фиктивного изображения для фона, так как это приборная панель.

  2. Я пытался придать uiimageview огромную высоту, но это не оптимизированное решение. Кроме того, это привело к увеличению количества штрихов на uiimageview, как только я начну писать на нем яблочным карандашом.

  3. Я попытался создать несколько представлений uiimageview(например, 5) и присвоил им "" с размером представления uiimage, равным размеру экрана. Чтобы я мог зациклить их и нарисовать на нем штрихи карандашом. Но тогда я не могу определить, какой вид изображения следует использовать для рисования обводки при написании яблочным карандашом.

Ниже приведены вещи, которые я пробовал для соответствующих пунктов, упомянутых выше.

  1. Настройка autolayout проста, поскольку я следовал за ним из нескольких доступных блогов в сети.
  2. Я установил высоту uiimageiview от раскадровки.
  3. Последний опробованный метод использует приведенный ниже код.
 func drawStroke(from fromPoint: CGPoint, to toPoint: CGPoint) {
        UIGraphicsBeginImageContext(view.frame.size)
        guard let context = UIGraphicsGetCurrentContext() else {
            return
        }
        tempImageView.image?.draw(in: view.bounds)

        context.move(to: fromPoint)
        context.addLine(to: toPoint)

        context.setLineCap(.round)
        context.setBlendMode(.normal)
        context.setLineWidth(CGFloat(1.0))
        context.setStrokeColor(color.cgColor)
        context.strokePath()

        tempImageView.image = UIGraphicsGetImageFromCurrentImageContext()
        tempImageView.alpha = opacity
        UIGraphicsEndImageContext()
    }

Приведенный выше код содержит tempImageView, и на нем нарисованы штрихи, но если у меня есть пять uiimageview, я решаю, какой из них щелкнуть, и использую этот uiimageview вместо tempImageView.

0 ответов

Другие вопросы по тегам