如何使用自动布局(约束)向 UIPageViewController 添加子视图?
How add subviews to UIPageViewController with autolayout ( constraints)?
我尝试将 UIImageView 添加到 UIPageVC 背景视图,但它将作为子视图,因为它会通过约束自动布局。
我试图在 UIPageViewController 中做这样的事情 class:
override func viewDidLoad() {
super.viewDidLoad()
dataSource = self
delegate = self
// Adding an UIImageView to background
let imageView = UIImageView(image: UIImage(named: "backgoundImage"))
imageView!.contentMode = .scaleToFill
view.insertSubview(imageView!, at: 0)
}
感谢大家的回答!
您需要对广告限制执行类似的操作。
if let imageView = UIImageView(image: UIImage(named: "backgoundImage")) {
imageView.contentMode = .scaleToFill
view.insertSubview(imageView, at: 0)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0).isActive = true
imageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
imageView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true
}
我尝试将 UIImageView 添加到 UIPageVC 背景视图,但它将作为子视图,因为它会通过约束自动布局。
我试图在 UIPageViewController 中做这样的事情 class:
override func viewDidLoad() {
super.viewDidLoad()
dataSource = self
delegate = self
// Adding an UIImageView to background
let imageView = UIImageView(image: UIImage(named: "backgoundImage"))
imageView!.contentMode = .scaleToFill
view.insertSubview(imageView!, at: 0)
}
感谢大家的回答!
您需要对广告限制执行类似的操作。
if let imageView = UIImageView(image: UIImage(named: "backgoundImage")) {
imageView.contentMode = .scaleToFill
view.insertSubview(imageView, at: 0)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0).isActive = true
imageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
imageView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true
}