func createMenu() -> AnyView { let count = 4 let menu = GeometryReader { (geometry: GeometryProxy) in ForEach(0..<count) { index in Group { () -> AnyView in let availableHeight = geometry.size.height / CGFloat(count) let spacing = availableHeight / CGFloat(count - 1) let height = availableHeight - spacing let width = geometry.size.width let rect = RoundedRectangle(cornerRadius: 2) .frame(width: width, height: height) return AnyView( rect .offset(y: availableHeight * CGFloat(index)) .animateMiddleRect( at: index, isAnimating: self.isAnimating, width: width, spacing: spacing) .animateMarginRect(at: index, isAnimating: self.isAnimating) .animation( Animation.easeInOut .delay(0.2)) ) } } } return AnyView(menu) }