Полуэкранный и полноэкранный нижний лист с материальными компонентами для iOS (swift)

Я использую компоненты материала для iOS для создания перетаскиваемого нижнего листа, который запускает половину экрана (режим предварительного просмотра), и вы можете перетащить на полный экран. Но я не знаю как, и документация не очень полная. https://material.io/develop/ios/components/bottom-sheet/

Я представляю свой DetailViewController в MDCBottomSheetController:

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 ответ

Все правильно, кроме как установить preferredContentSize быть 1/2 высоты экрана.

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

Является ли линия причиной вашей ошибки. Эта строка говорит нижнему листу, что больше нет содержимого для прокрутки. Вы можете удалить его. Если вы хотите, чтобы ваш contentViewController был представлением прокрутки, вы можете использовать trackingScrollView имущество.

Другие вопросы по тегам