popover 뷰 컨트롤러 내에서 아래에 단추가있는로드 막대를 표시하려고합니다. 나는 UIProgressView를 자체적으로 잘 보여줄 수있다. 나는 UIProgressView와 UIButton을 스택 뷰에 넣고 popover의 중심에 제시하고있다.Popover 모달의 가운데 스택보기
아래 코드와 결과보기를 게시했습니다. 스택보기에는 버튼이 있지만 디버거에 따라 x : -25 y : 0에 있습니다. 스택 뷰 센터 좌표를 self.view.center 좌표로 설정하려고 시도했지만 작동하지 않았습니다. 내가 올바르게 설정하지 않은 것이 있습니까?
// Collection View #1
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let tv = VideoLibrary() // <- Collection View class
tv.videoSelectionDelegate = self
tv.modalPresentationStyle = .popover
tv.popoverPresentationController?.sourceView = self.view
present(tv, animated: true, completion: nil)
}
// VideoLibrary()/Collection View #2
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let loadingView = LoadingVideoView() // <- view with stack view
loadingView.view.frame = self.view.frame
loadingView.modalPresentationStyle = .overCurrentContext
present(loadingView, animated: true, completion: nil)
}
// LoadingVideoView()
var progressView: UIProgressView = {
let progress = UIProgressView(progressViewStyle: .default)
progress.progress = 0.5
return progress
}()
var blurView: UIVisualEffectView = {
let effect = UIBlurEffect(style: .extraLight)
let blur = UIVisualEffectView(effect: effect)
return blur
}()
var stack: UIStackView = {
let stack = UIStackView(frame: .zero)
stack.distribution = .equalSpacing
stack.axis = .vertical
stack.alignment = .center
stack.spacing = 20
return stack
}()
var cancelButton: UIButton = {
let button = UIButton(type: .roundedRect)
button.setTitle("Cancel", for: .normal)
button.addTarget(self, action: #selector(buttonPressed), for: .touchUpInside)
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(_ animated: Bool) {
self.view.insertSubview(blurView, at: 0)
stack.addArrangedSubview(progressView)
stack.addArrangedSubview(cancelButton)
stack.translatesAutoresizingMaskIntoConstraints = false
cancelButton.translatesAutoresizingMaskIntoConstraints = false
progressView.translatesAutoresizingMaskIntoConstraints = false
stack.center = self.view.center
self.view.addSubview(stack)
}
는