Swift AutoLayout — PKCanvasView contentSizeIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Swift AutoLayout — PKCanvasView contentSize

Сообщение Anonymous »

Я помещаю PKCanvasView внутри UIImageView. С помощью AutoLayout я установил размер PKCanvasView равным размеру UIImageView. Пока все работает нормально. PKCanvasView contentSize равен размеру UIImageView. Однако в таких случаях, как поворот экрана или открытие клавиатуры, contentSize PKCanvasView не равен новому размеру UIImageView. Как мне решить эту проблему?
Изображение

Изображение

class ExampleViewController: UIViewController {
let canvas: PKCanvasView
private var imageView: UIImageView!

@available(*, unavailable)
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

override public func viewDidLoad() {
super.viewDidLoad()

let image = Asset.example.image
imageView = UIImageView(image: image)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFit
imageView.clipsToBounds = false
imageView.isUserInteractionEnabled = true

canvas.tool = PKInkingTool(.pen, color: .yellow, width: 35)
canvas.drawingPolicy = .anyInput
canvas.isOpaque = true
canvas.alpha = 0.5
canvas.backgroundColor = .clear
canvas.isScrollEnabled = false
canvas.becomeFirstResponder()
canvas.minimumZoomScale = 1
canvas.maximumZoomScale = 1

canvas.translatesAutoresizingMaskIntoConstraints = false

imageView.addSubview(canvas)
view.addSubview(imageView)

NSLayoutConstraint.activate([
imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
imageView.centerYAnchor.constraint(equalTo: view.centerYAnchor),
imageView.topAnchor.constraint(equalTo: view.topAnchor),
imageView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
imageView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor),

canvas.topAnchor.constraint(equalTo: imageView.topAnchor),
canvas.leadingAnchor.constraint(equalTo: imageView.leadingAnchor),
canvas.trailingAnchor.constraint(equalTo: imageView.trailingAnchor),
canvas.bottomAnchor.constraint(equalTo: imageView.bottomAnchor),
canvas.heightAnchor.constraint(equalTo: imageView.heightAnchor),
canvas.widthAnchor.constraint(equalTo: imageView.widthAnchor)
])
}
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... ontentsize
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Использование вида прокрутки с Autolayout Swift
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • IOS AutoLayout - не в силах иметь высоту
    Anonymous » » в форуме IOS
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • IOS AutoLayout - не в силах иметь высоту
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как работает Scrollview с Autolayout, и почему установление нижнего вертикального ограничения пространства заставляет ег
    Anonymous » » в форуме IOS
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как создать бесконечность PKCanvasView
    Гость » » в форуме IOS
    0 Ответы
    28 Просмотры
    Последнее сообщение Гость

Вернуться в «IOS»