【问题标题】:how to present another viewController in separate UIWindow如何在单独的 UIWindow 中呈现另一个 viewController
【发布时间】:2021-07-02 07:27:51
【问题描述】:

我想在我的应用程序中创建一个浮动按钮,它将在整个页面中可见,并且可以处理来自单独 ViewController 的事件以保持按钮状态。

我想在用户登录应用程序的同时从一个单独的窗口打开一个 ViewController。如果用户点击按钮,那么 ViewController 将处理该事件,如果点击按钮外部,则它应该由主控制器处理。

谢谢

【问题讨论】:

    标签: ios swift iphone xcode


    【解决方案1】:

    首先使用 .xib 文件创建 UIViwe,然后创建所需的 UI。所有与 UI 相关的功能都将存在于 UIView 类中,并创建一个管理所有事件的管理器类。

    使用下面的代码将 playerView 添加到窗口中

    PlayerManager.shared.addPlayer()
    

    请参阅下面的 playerManager 类代码

    class PlayerManager : NSObject{
      static let shared = PlayerManager()
      private override init(){
        super.init()
      }
    
        func addPlayer(){
            let window = UIApplication.shared.keyWindow
            let player = Bundle.main.loadNibNamed("PlayerView", owner: nil, options: nil)![0] as! PlayerView
            let outerView = UIView(frame: CGRect(x: getXValueForView(width: 180), y: getYValueForView(height: 120), width: 180, height: 60))
            player.frame.size = CGSize(width: 180, height: 60)
            player.playerDelegate = self
            outerView.clipsToBounds = true
            player.miniPlayer.isHidden = false
            player.expendedPlayer.isHidden = true
            outerView.addSubview(player)
            window?.addSubview(outerView)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-13
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      相关资源
      最近更新 更多