gpt4 book ai didi

ios - 从 collectionView 呈现一个 viewController

转载 作者:行者123 更新时间:2023-12-01 21:40:21 24 4
gpt4 key购买 nike

我正在扩展 UICollectionView 以创建一个空 View ,我无法调用 自我呈现 .有没有更好的方法来处理空 View ?我应该如何处理 collectionView 中的 self.present?

extension UICollectionView {
func setEmptyView() {

let signUpButton = UIButton(type: .custom)
signUpButton.addTarget(self, action: #selector(onSignIn), for: .touchUpInside)
}

@objc func onSignIn() {
let viewController = SignInController()
viewController.modalPresentationStyle = .fullScreen

}
}

最佳答案

您可以从顶级 Controller 展示..使用此扩展程序,您将获得顶级 Controller ...

extension UIApplication {

class func getTopMostViewController() -> UIViewController? {
let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
if var topController = keyWindow?.rootViewController {
while let presentedViewController = topController.presentedViewController {
topController = presentedViewController
}
return topController
} else {
return nil
}
}
}
然后在您的收藏 View 扩展中
extension UICollectionView {
func setEmptyView() {

let signUpButton = UIButton(type: .custom)
signUpButton.addTarget(self, action: #selector(onSignIn), for: .touchUpInside)
}

@objc func onSignIn() {
let viewController = SignInController()
viewController.modalPresentationStyle = .fullScreen
UIApplication.getTopMostViewController()?.present(viewController, animated: true, completion: nil)
}

}

关于ios - 从 collectionView 呈现一个 viewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62580406/

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