半屏和全屏底部 sheet with material components for iOS (swift)

Half screen and full screen bottom sheet with material components for iOS (swift)

我正在使用 iOS 的 material 组件来制作可拖动底部 sheet,开始半屏(预览模式),您可以拖动到全屏。但是我不知道怎么做,文档也不是很完整。 https://material.io/develop/ios/components/bottom-sheet/

我在 MDCBottomSheetController 中显示我的 DetailViewController:

let graphDetailViewController = UIStoryboard.detail().instantiateViewController(withIdentifier: "DetailViewController") as! DetailViewController     
let bottomSheet: MDCBottomSheetController = MDCBottomSheetController(contentViewController: graphDetailViewController)
bottomSheet.preferredContentSize = CGSize(width: self.view.frame.size.width, height: self.view.frame.size.height / 2)
    present(bottomSheet, animated: true, completion: nil)

使用此代码,我的 vc 显示为半屏,但无法将其拖动到全屏。

是否有人对 iOS 的 material 组件(底部 sheet)有经验并且可以帮助我?

非常感谢!

一切正常,只是您将 preferredContentSize 设置为屏幕高度的 1/2。

 bottomSheet.preferredContentSize = CGSize(width: self.view.frame.size.width, height: self.view.frame.size.height / 2)

是导致您出错的行。该行告诉底部 sheet 没有更多内容可滚动。你可以删除它。如果你想让你的 contentViewController 成为滚动视图,你可能想要使用 trackingScrollView 属性.