NSSheetMoveHelper Sends Parent Windows Flying If Sheet Window Frame is Resized on macOS Tahoe

So I noticed this:

  1. A sheet window is presented.
  2. The sheet window has some UI that makes it expandable say a little arrow expandable button.
  3. Click the little expandable button. Now the sheet window controller calls - (void)setFrame:display:animate: on its window to resize.
  4. The parent window flies across the screen to the lower left corner.

I'm on Tahoe 26.1. Seems to be related to NSSheetMoveHelper. Not sure how long this bug has been around. Workaround is to call -setFrame:display:animate: and pass NO to the animate flag. Then the sheet window resizes (but not animated which doesn't look as good as the old behavior but better than suddenly disappearing).

I think Apple may already knows about this bug b/c in an Apple app on Tahoe I see a sheet resizing being done with no animation...

Thanks for this post.

You have seen the issue on the usage of the NSSheetMoveHelper. Even if you believe Apple is aware of this issue, I recommend posting a focused sample here to demonstrate the specific problem and how the NSSheetMoveHelper is causing it.

That'll help us better understand what's going on. If you're not familiar with preparing a test project, take a look at Creating a test project.

If the issue persists after updating to the latest version, I will request that you submit a bug report. Could you please provide the focused sample?

Albert Pascual
  Worldwide Developer Relations.

NSSheetMoveHelper Sends Parent Windows Flying If Sheet Window Frame is Resized on macOS Tahoe
 
 
Q