半屏和全屏底部面板,带有适用于iOS的材质组件(快速)

时间:2018-07-12 14:14:28

标签: swift bottom-sheet material-components material-components-ios

我正在使用iOS的材质组件制作可拖动的底部工作表,该屏幕开始半屏显示(预览模式),并且可以拖动到全屏显示。但是我不知道如何,而且文档也不是很完整。 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的材料组件(底页)方面有经验并且可以帮助我吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

一切正常,除了将preferredContentSize设置为屏幕高度的1/2。

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

是引起您错误的行。该行告诉底部没有更多可滚动的内容。您可以删除它。如果要让contentViewController成为滚动视图,则可能需要使用trackingScrollView属性。