Swift PDFKit автоматически масштабирует зум на неправильную страницу - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь отобразить PDF на устройстве iOS (ipad) с помощью PDFkit.По какой-то причине swift отображает вторую страницу при открытии дисплея.Я выясняю, что частью проблемы является preview.autoscale.Когда я устанавливаю это значение в ложное, PDF не полноэкранный, но он начинается на первой странице.Таким образом, я думаю, что проблема заключается в том, что «масштабная» часть автомасштабирования увеличивает масштаб на первой странице.Я нашел небольшой вопрос о stackoverflow ( PDFKit: PDFView не изменяет размер при повороте устройства ), но решение не работает.Ниже приведен соответствующий код:

    if let FBdocument = PDFDocument(url: fileURL) {
        pdfView.document = FBdocument
        pdfView.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(pdfView)

        pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor,constant: 0.0).isActive = true
        pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor,constant: 0.0).isActive = true
        pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor,constant: 0.0).isActive = true

        pdfView.bottomAnchor.constraint(equalTo: letdothis_button.topAnchor,constant: 0.0).isActive = true


        pdfView.autoScales = true

Ответы [ 3 ]

0 голосов
/ 04 февраля 2019

Добавление документа в viewDidAppear работает

  • (void) viewDidAppear: (BOOL) анимированный
    {
    [super viewDidAppear:animated];
    PDFDocument *pdfDocument = [[PDFDocument alloc] initWithURL:self.pdfURL];
    self.pdfView.document = pdfDocument;
    }
0 голосов
/ 13 февраля 2019

Это ошибка только для iPad (работает нормально с iPhone), я отправил отчет об ошибке, и они ответили, что он дублирует другой отчет, что означает, что они знали об этом, и, надеюсь, они исправят его в ближайшее время

0 голосов
/ 02 ноября 2018

У меня тоже были проблемы с автомасштабированием, я обнаружил, что перемещение:

pdfView.autoScales = true

Наряду с любыми другими методами позиционирования до:

pdfView.document = FBdocument

А затем добавить последнее подвид:

 view.addSubview(pdfView)

Таким образом, я бы использовал:

if let FBdocument = PDFDocument(url: fileURL) {

    pdfView.translatesAutoresizingMaskIntoConstraints = false

    pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor,constant: 0.0).isActive = true
    pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor,constant: 0.0).isActive = true
    pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor,constant: 0.0).isActive = true

    pdfView.bottomAnchor.constraint(equalTo: letdothis_button.topAnchor,constant: 0.0).isActive = true


    pdfView.autoScales = true

    pdfView.document = FBdocument

    view.addSubview(pdfView)
...