Есть ли способ, позволяющий бесконечную прокрутку UIimageview при помещении внутрь UIscollview, при этом позволяя писать карандашом с помощью яблока?
Я делаю приборную панель, которая позволяет мне писать с помощью яблочного карандаша на iPad. Панель инструментов содержит uiimageview поверх uiscrollview. Я хочу, чтобы этот uiscrollview прокручивался бесконечно, когда пользователь прокручивал страницу вниз. Моя цель - реализовать функциональность, которая есть в каждой заметке, делающей приложение, включенной с помощью карандаша Apple и Ipad.
Я попытался настроить autolayout на uiscrollview и uiimageview, но это работает, если у вас уже есть массив изображений или определенное изображение, а затем прокручивается вниз для всех изображений. Но в моем случае у меня нет фиктивного изображения для фона, так как это приборная панель.
Я пытался придать uiimageview огромную высоту, но это не оптимизированное решение. Кроме того, это привело к увеличению количества штрихов на uiimageview, как только я начну писать на нем яблочным карандашом.
Я попытался создать несколько представлений uiimageview(например, 5) и присвоил им "" с размером представления uiimage, равным размеру экрана. Чтобы я мог зациклить их и нарисовать на нем штрихи карандашом. Но тогда я не могу определить, какой вид изображения следует использовать для рисования обводки при написании яблочным карандашом.
Ниже приведены вещи, которые я пробовал для соответствующих пунктов, упомянутых выше.
- Настройка autolayout проста, поскольку я следовал за ним из нескольких доступных блогов в сети.
- Я установил высоту uiimageiview от раскадровки.
- Последний опробованный метод использует приведенный ниже код.
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.