在屏幕上放置视图 Swift

placing view on screen Swift

我正在使用 PDF 视图从 url 加载 pdf。但是,PDF 视图会覆盖整个屏幕。这就是段控制器消失的原因。 PDF View 应该出现在 Segment Controller 下。我应该怎么做才能让它显示在片段下方,而不是全屏?

class PDFController: UIViewController {
@IBOutlet weak var segmentedControl: UISegmentedControl!

  func fillWithYORUM() {
 if #available(iOS 11.0, *) {
                      let pdfView = PDFView(frame: self.view.bounds)
                      pdfView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
                            self.view.addSubview(pdfView)
                                pdfView.autoScales = true
                     let postURL = URL(string: self.pdfLink)
                    if postURL != nil {

                      pdfView.document = PDFDocument(url: postURL!)
                      print("postURL", postURL as Any)
                    }
                    else {
                    }
                  } else {
                  }
}

尝试更新到 frame 而不是 bounds

PDFView(frame: self.view.frame)

否则用 segmentControl 最大高度

更新 Y axis 的位置
PDFView(frame: CGRect(x: 0.0, y: segmentControl.frame.maxY, width: self.view.frame.width, height: self.view.frame.height - segmentControl.frame.height))

您在此处设置全屏视图范围

let pdfView = PDFView(frame: self.view.bounds)

但你需要

let pdfView = PDFView(frame:self.view.frame.offsetBy(dx: 0, dy:segmentControl.frame.maxY)))

view.addSubview(pdfView)
pdfView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
  pdfView.topAnchor.constraint(equalTo: segment.bottomAnchor,constant:20.0),
  pdfView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
  pdfView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
  pdfView.trailingAnchor.constraint(equalTo: view.trailingAnchor)
])