Swift PDFKit ปรับขนาดอัตโนมัติไปยังหน้าผิด

ฉันกำลังพยายามแสดง pdf บนอุปกรณ์ iOS (ipad) โดยใช้ PDFkit ด้วยเหตุผลบางประการ Swift จะแสดงหน้าที่สองเมื่อจอแสดงผลเปิดขึ้น ฉันพบว่าปัญหาส่วนหนึ่งคือการแสดงตัวอย่างขนาดอัตโนมัติ เมื่อฉันตั้งค่านี้เป็นเท็จ pdf จะไม่เต็มหน้าจอ แต่จะเริ่มจากหน้าแรก ฉันคิดว่าปัญหาคือส่วน "ซูม" ของการปรับขนาดอัตโนมัติกำลังซูมเข้าในหน้าแรก ฉันพบคำถาม simalar ใน 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

person Tom Carlson    schedule 17.10.2018    source แหล่งที่มา
comment
หากคุณกำลังจะถามคำถามแล้วมีคนตอบกลับ ถือเป็นการตอบแบบมืออาชีพและสุภาพ หากสามารถแก้ไขปัญหาของคุณได้ โปรดโหวตเห็นด้วย และหากไม่เป็นเช่นนั้น โปรดให้ข้อมูลเพิ่มเติม   -  person Nicholas Farmer    schedule 07.11.2018


คำตอบ (2)


ฉันมีปัญหากับการปรับขนาดอัตโนมัติด้วย ฉันพบว่าการเคลื่อนไหว:

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)
person Nicholas Farmer    schedule 01.11.2018
comment
ฉันต้องเพิ่มมุมมองย่อยก่อนจึงจะสามารถเพิ่มข้อจำกัดได้ ไม่เช่นนั้นฉันจะได้รับข้อผิดพลาด ไม่สามารถเปิดใช้งานข้อจำกัดด้วยจุดยึดได้ - person Henrik Hansen; 02.09.2019

นี่เป็นข้อบกพร่องบน iPad เท่านั้น (ทำงานได้ดีกับ iPhone) ฉันส่งรายงานข้อบกพร่องแล้ว และพวกเขาตอบกลับว่ามันซ้ำกับรายงานอื่นซึ่งหมายความว่าพวกเขารู้เรื่องนี้แล้ว และหวังว่าพวกเขาจะแก้ไขได้ในเร็วๆ นี้

person Basil    schedule 13.02.2019