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

时间:2019-06-13 01:55:19

标签: ios swift viewcontroller

我正在尝试向我的应用添加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的基本版本。任何输入将不胜感激,我是新手,很快就能使用我的应用程序中的所有后端数据,但正在努力显示它。

1 个答案:

答案 0 :(得分:0)

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

在下面的示例中,我在项目中创建customSheetController。我在情节提要中设计UI并为其创建一个swift类。

customSheetController storyboard UI

下面是 customSheetController swift类语法

class customSheetController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

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

在另一个 viewcontroller 类中,在收藏夹视图项单击上打开该表。

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)
        }
    } 

在上面的示例中,我在“收藏夹视图”项目单击上打开了工作表,您可以在按钮事件或您要打开该工作表的任何事件上添加以上代码。

另一个示例

再举一个例子,假设您的项目中有两个viewcontroller类,假设A和B。您想在B控制器上展示A控制器。然后,您需要修改以下代码。

在B控制器类中,假设您要在按钮单击时显示A控制器,然后您可以在按钮单击事件上编写以下代码

let controller = A()

let sheetController = SheetViewController(controller: controller)

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