半屏和全屏底部 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
属性.
我正在使用 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
属性.