-
Notifications
You must be signed in to change notification settings - Fork 481
Open
Description
Describe the bug
I have a coachmark on top of the keyboard, so I want to change the coachmark position based on the keyboard size.
The issue is that the readme says that we should use the CoachMarkController.prepareForChange() and CoachMarkController.restoreAfterChangeDidComplete(), but those functions don't do anything on iOS 13 or later.
I found a possible workaround, which is to run flow.pause(). helper.updateCurrentCoachMark(), flow.resume(), but the resume function creates a new coachmark in the screen, so every frame change a new coachmark appears, and keeps the old ones visible.
To Reproduce
- Create coachmark using some view that will change the frame
- Call the
prepareForChangefunction before changing the frame - Update the highlight view frame
- Call
restoreAfterChangeDidCompletefunction
Expected behavior
The coachmark should move to the new frame position.
Screenshots
The result of the workaround usage.

Environment
- Device: iPhone 13 Pro
- iOS version: 16.3.1
- Instructions version: 2.2.0
- Dependency Manager: SPM
Metadata
Metadata
Assignees
Labels
No labels