Ios 单击UITableViewCell可从底部查看半屏幕详细信息

Ios 单击UITableViewCell可从底部查看半屏幕详细信息,ios,swift,storyboard,Ios,Swift,Storyboard,我想为我的UITableView实现一些细节视图(使用故事板)。因此,当点击单元格时,并不是整个表视图被隐藏,而是从底部显示一个新的半屏幕细节视图。原型的附加屏幕。当点击单元格(灰色)时,屏幕上会从底部显示该单元格的详细信息。 感谢您的帮助 此方法有很多方法,但我将演示我为此类弹出视图所做的工作 创建一个新的ViewController,并将主视图颜色设置为“清除”,然后使用任何背景颜色创建视图,并对UI执行任何操作 在父表视图中,您可以在DidSelect委托中或任何需要的地方使用扩展名,

我想为我的UITableView实现一些细节视图(使用故事板)。因此,当点击单元格时,并不是整个表视图被隐藏,而是从底部显示一个新的半屏幕细节视图。原型的附加屏幕。当点击单元格(灰色)时,屏幕上会从底部显示该单元格的详细信息。 感谢您的帮助


此方法有很多方法,但我将演示我为此类弹出视图所做的工作

  • 创建一个新的ViewController,并将主视图颜色设置为“清除”,然后使用任何背景颜色创建视图,并对UI执行任何操作
  • 在父表视图中,您可以在DidSelect委托中或任何需要的地方使用扩展名,如下所示

  • self.showPopup()

    如果您想使用模糊视图或其他东西,请使用我使用的协议方法


    希望对你有所帮助。没有时间为您的场景重新编写代码,只是我的代码中的一个示例

    非常感谢@Swiosift!我会试试你的建议,稍后再告诉你结果,再次感谢:)
    import UIKit
    protocol CancelToastDelegate: class {
        func removeBlurredBackgroundView()
    }
    class customToastVC: UIViewController {
        weak var delegate: CancelToastDelegate?
        @IBOutlet weak var messageView: UIView!
        @IBOutlet weak var messageLabel: UILabel!
        var toastMessage: String?
        override func viewDidLoad() {
            super.viewDidLoad()
            self.setupMessageView()
            delegate?.removeBlurredBackgroundView()
            DispatchQueue.main.asyncAfter(deadline: .now() + 2.0, execute: {
                self.dismissToast()
            })
            // Do any additional setup after loading the view.
        }
      
        override func viewWillAppear(_ animated: Bool) {
            self.toastMessage = UserDefaults.standard.string(forKey: "kToastMessage")
            self.messageLabel.text = self.toastMessage ?? ""
        }
        override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
            self.dismissToast()
        }
        func dismissToast(){
            dismiss(animated: true, completion: nil)
            
        }
        
        func setupMessageView(){
            self.messageView.layer.cornerRadius = 5
            self.messageView.layer.borderColor = UIColor.appColor.customOrange.cgColor
            self.messageView.layer.borderWidth = 1
        }
    }
    
    func showPopup() {
             let vc = self.storyboard?.instantiateViewController(withIdentifier: "customToastVC")
             vc?.modalPresentationStyle = .overFullScreen
             self.present(vc!, animated: true, completion: nil)
         }