gpt4 book ai didi

ios - 在 Swift 中以编程方式将 UIImageView 替换为 PDFView

转载 作者:行者123 更新时间:2023-11-28 07:46:15 25 4
gpt4 key购买 nike

我的 Storyboard中有一个 UIImageView,我的 View Controller 有一个 IBOutlet。有没有办法以编程方式用 PDFView 替换它并在运行时为 PDFView 提供约束?我正在根据显示的是图像还是 pdf 来更改 View 。

最佳答案

有一个 UIView,链接到您的 ViewController 的 IBOutlet,在 Storyboard中有正确的约束,并在运行时添加/删除适当的 subview (可以是UIImageViewPDFView)。

例如,添加一个 PDFView 作为填充整个 UIView 的 subview (这里命名为 containerView):

import PDFKit

//...

let pdfView = PDFView()

pdfView.translatesAutoresizingMaskIntoConstraints = false
containerView.addSubview(pdfView)

pdfView.leadingAnchor.constraint(equalTo: containerView.safeAreaLayoutGuide.leadingAnchor).isActive = true
pdfView.trailingAnchor.constraint(equalTo: containerView.safeAreaLayoutGuide.trailingAnchor).isActive = true
pdfView.topAnchor.constraint(equalTo: containerView.safeAreaLayoutGuide.topAnchor).isActive = true
pdfView.bottomAnchor.constraint(equalTo: containerView.safeAreaLayoutGuide.bottomAnchor).isActive = true

//add pdf content
guard let path = Bundle.main.url(forResource: "example", withExtension: "pdf") else { return }

if let document = PDFDocument(url: path) {
pdfView.document = document
}

对于 UIImageView :

let imageName = "yourImage.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)

imageView.frame = CGRect(x: containerView.frame.origin.x,
y: containerView.frame.origin.y,
width: containerView.frame.size.width,
height: containerView.frame.size.height)
containerView.addSubview(imageView)

不要忘记在必要时删除您的 subview 。

关于ios - 在 Swift 中以编程方式将 UIImageView 替换为 PDFView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50958118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com