QLPreviewController's PencilKit sub component doesn't get mirrored on RTL Languages in iOS18b3

QLPreviewController's PencilKit doesn't get mirrored when used with a RTL language in iOS18b3. Moreover, the sub-menu of the actions is not translated and is shown in English.

Steps to reproduce:

  1. Set an app with QLPreviewController and set its app language to Hebrew (or any other RTL language)
  2. Run the app
  3. Tap the Markup button on bottom-left side.
  4. Look on the PencilKit element.
  5. Tap the + button to show the annotation actions.
  6. Look on the annotation actions menu.

Current: The Pencil Kit element is not mirrored when app language is RTL Language and the sub-menu actions are shown in English.

Expected: The Pencil Kit element is mirrored when app language is RTL Language and the sub-menu actions are shown in the RTL Language.

Submitted Feedback: FB14452847

Notes:

  1. This wasn't reproducible in iOS 17.5.1
  2. The top bar buttons are mirrored as expected with a RTL language.

Answered by DTS Engineer in 797207022

Thanks for flagging this and submitting the bug report. Please continue to test in beta releases. Thanks

Reproducible also in iOS18b4 that was released today.

Important point I want to add to this bug report:

  • Have your device set to LTR (f.e. English) Language

  • Set the app that uses the QLPreviewController manually to a RTL language (f.e. Hebrew) using the Settings app.

Notes:

  1. If the (global) Language set on the device is also RTL Language (f.e. Hebrew) - it's working as expected.
  2. The same issue is reproducible for the vice versa case - If the Device Language is RTL and you set the app language specifically to be LTR - the PencilKit will be RTL instead of the expected LTR.

Thanks for flagging this and submitting the bug report. Please continue to test in beta releases. Thanks

We are experiencing a different issue with this QLPreviewController which is related to the navigation bar appearance. I just filled a bug with the number FB14502545. I'll just copy paste the description here to have a quick overview on it, thank you and sorry if I spammed the thread with a different topic. "We are developing an app that has a custom navigation bar appearance (both "standard" and "scrollEdge" are set with custom values). We have an issue on iOS 18 (reproducible on beta 4, at the moment) that breaks the custom appearance of the navigation bar, once we push a "QLPreviewController" inside a "UINavigationController". The "tintColor" and the "titleTextAttributes" properties (at least) seem to be affected, meaning that they get reset to the default value (I guess). I attached a sample project where we have a "UINavigationController" on which the root view controller has 2 buttons that push 2 different view controllers: 1 is a normal "UIViewController" and the other one is a "QLPreviewController". Whenever you push the "UIViewController" everything is ok with the navigation bar, but once you push a "QLPreviewController" the colors get reset. Please have a loc on the sample provided and let us know if this will be fixed in upcoming releases of iOS 18 or we need to implement a workaround in order to keep the custom navigation bar appearance."

@alin.muntean I suggest you'll open a separate post about it since it's not directly relayed to the Original post.

@DTS Engineer this is still broken on iOS18b7 that was just released.

This affects ALL apps including Apple own apps like "Files".

Any workarounds?

QLPreviewController's PencilKit sub component doesn't get mirrored on RTL Languages in iOS18b3
 
 
Q