arrowEdge of popoverTip not working anymore on iOS 17.1

In iOS 17.1 (and 17.2 beta), the arrowEdge parameter of the SwiftUI popoverTip doesn't work anymore.

This code

button
    .popoverTip(tip, arrowEdge: .bottom)

looks like this on iOS 17.0

and like this on 17.1 and up.

I checked permittedArrowDirections of the corresponding UIPopoverPresentationController (via the Memory Graph): It's .down on iOS 17.0 and .any (the default) on 17.1. It seems the parameter of popoverTip is not properly propagated to the popover controller anymore.

Filed as FB13419598. Thanks!

This issue persists in iOS 17.5 and iOS 18 beta 3. It prevents me from integrating TipKit into my project because the tooltips overlay other buttons and make the UI confusing.

Steps to Reproduce

  1. Download the TipKit sample project from Apple
  2. Open PopoverView and change the tip modifier to .popoverTip(tip, arrowEdge: .top)
  3. Run the project and navigate to PopoverView

Expected Result

The tooltip should appear below the image, with the arrow positioned at the top of the tooltip.

Actual Result

The tooltip appears above the image, with the arrow positioned at the bottom of the tooltip.

arrowEdge of popoverTip not working anymore on iOS 17.1
 
 
Q