Suggested approach: In UIKit, all view layers have options for shadow opacity, radius, offset, color, and path. In SwiftUI, you can use the
shadow() modifier. This would be a good time to mention to relative cost of dynamic shadows and how rasterizing layers in UIKit helps.
Estimated difficulty: Easy
Link copied to your pasteboard.