Я создаю подпредставление программно, которое я хотел бы разместить над суперпредставлением, но я не хочу, чтобы оно заполняло входящий суперпросмотр.
Я проверял, не задавался ли этот вопрос ранее, но по какой-то причине я могу только найти ответы на вопрос, как заполнить весь вид.
Я был бы очень признателен, если бы кто-то мог помочь критиковать мой код и объяснить, как позиционировать подпредставление вместо заполнения всего суперпредставления.
class JobViewController: UIViewController {
var subView : SubView { return self.view as! SubView }
var requested = false
let imageView: UIImageView = {
let iv = UIImageView(image: #imageLiteral(resourceName: "yo"))
iv.contentMode = .scaleAspectFill
iv.isUserInteractionEnabled = true
iv.translatesAutoresizingMaskIntoConstraints = false
return iv
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(imageView)
imageView.fillSuperview()
subView.requestAction = { [ weak self ] in
guard let strongSelf = self else { return }
strongSelf.requested = !strongSelf.requested
if strongSelf.requested {
UIView.animate(withDuration: 0.5, animations: {
strongSelf.subView.Request.setTitle("Requested", for: .normal)
strongSelf.subView.contentView.backgroundColor = UIColor.red.withAlphaComponent(0.5)
})
} else {
UIView.animate(withDuration: 0.5, animations: {
strongSelf.subView.Request.setTitle("Requested", for: .normal)
strongSelf.subView.contentView.backgroundColor = UIColor.blue
})
}
}
}
override func loadView() {
// I know the issue lies here, but how would I go about setting the frame of the subview to just be positioned on top of the mainView?
self.view = SubView(frame: UIScreen.main.bounds)
}
}
У меня есть подпроцесс, встроенный в отдельный файл, я не уверен, нужна ли мне его информация, так как это только то, что находится внутри подпредставления.