我在 ViewController 的什么地方放置初始化代码?

Where in my ViewController do I put initializing code?

我正在尝试将 FittedSheet (Repo) 添加到我的应用程序中,在他们的使用说明中,他们只有这段代码,没有关于将其放置在何处的进一步说明。

let controller = MyViewController()

let sheetController = SheetViewController(controller: controller)

// It is important to set animated to false or it behaves weird currently
self.present(sheetController, animated: false, completion: nil) 

我想知道该代码应该放在哪里,以便我可以在我的应用程序中包含 FittedSheet 的基本版本。任何输入将不胜感激,我是 swift 的新手,我的应用程序中的所有后端数据都可以正常工作,但我很难显示它。

MyViewController() 是一个控制器名称,其数据需要使用 FittedSheet 库呈现。 我举个例子。

在下面的示例中,我在我的项目中创建了 customSheetController。我在故事板中设计了 UI 并为此创建了一个 swift class。

customSheetController storyboard UI

下面是customSheetControllerswiftclass语法

class customSheetController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
}

在另一个 viewcontroller class 中,打开那个 sheet 在 collection 查看项目点击。

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        if let sheetView = storyboard.instantiateViewController(withIdentifier: "customSheetController") as? customSheetController {
           let sheetController = SheetViewController(controller: sheetView)

            // It is important to set animated to false or it behaves weird currently
            self.present(sheetController, animated: false, completion: nil)
        }
    } 

在上面的示例中,我在 collection 查看项目单击时打开了一个 sheet,您可以在按钮事件或任何要打开该 sheet 的事件中添加上面的代码.

另一个例子

让我再举一个例子,假设你的项目中有两个 viewcontroller class 让我们说 A 和 B。你想在 B 控制器上显示 A 控制器。然后你需要修改如下代码。

在 B 控制器 class 中,假设您想在按钮单击时显示 A 控制器,那么您可以在按钮单击事件上编写以下代码

let controller = A()

let sheetController = SheetViewController(controller: controller)

self.present(sheetController, animated: false, completion: nil)