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