Set up the component like this:
let controller = BlankViewController()
let bottomSheet = MDCBottomSheetController(contentViewController: controller)
let shapeScheme = MDCShapeScheme()
shapeScheme.largeComponentShape = MDCShapeCategory(cornersWith: .rounded, andSize: 8)
MDCBottomSheetControllerShapeThemer.applyShapeScheme(shapeScheme, to: bottomSheet)
present(bottomSheet, animated: true, completion: nil)
Where BlankViewController is just a completely empty white view controller for testing.
Screenshots:


It seems that if the rounded corners are added as a Shape Generator instead of using the shape styling library then it works correctly:
let shapeGenerator = MDCCurvedRectShapeGenerator(cornerSize: CGSize(width: 8, height: 8))
bottomSheet.setShapeGenerator(shapeGenerator, for: .preferred)
bottomSheet.setShapeGenerator(shapeGenerator, for: .extended)
bottomSheet.setShapeGenerator(shapeGenerator, for: .closed)
Instead of
let shapeScheme = MDCShapeScheme()
shapeScheme.largeComponentShape = MDCShapeCategory(cornersWith: .rounded, andSize: 8)
MDCBottomSheetControllerShapeThemer.applyShapeScheme(shapeScheme, to: bottomSheet)
@rustyshelf, to complete your solution, you can only round the top corners if you want:
let shapeGenerator = MDCRectangleShapeGenerator()
let cornerTreatment = MDCRoundedCornerTreatment(radius: 8)
shapeGenerator.topLeftCorner = cornerTreatment
shapeGenerator.topRightCorner = cornerTreatment
bottomSheet.setShapeGenerator(shapeGenerator, for: .preferred)
bottomSheet.setShapeGenerator(shapeGenerator, for: .extended)
bottomSheet.setShapeGenerator(shapeGenerator, for: .closed)
Most helpful comment
@rustyshelf, to complete your solution, you can only round the top corners if you want: