Hello Apple Developer Community,
I am developing Keyboard Atelier, a Korean custom keyboard built with Swift, UIKit, and
UIInputViewController.
Is there a supported way to apply a user-selected background color or image across the entire keyboard
presentation, including the surrounding system-owned areas?
Problem
On an iPhone, we observe a strip above our keyboard extension’s visible content and a separate bottom area
containing the system globe and dictation controls.
When we apply a custom background to our extension, these surrounding areas retain a different background.
This makes our keyboard look like a rectangular panel placed inside a separate system frame.
Our product lets users customize keycaps and keyboard backgrounds. We want their selected color or image
to appear continuous across the entire keyboard presentation.
What we have tested
We compared an opaque white root-view background with a clear root-view background in an isolated
simulator test.
With the opaque background, the boundaries above and below the extension were visible. Removing our own
top padding did not eliminate the upper strip.
Setting the root view’s backgroundColor to UIColor.clear made the backgrounds appear visually continuous
in both light and dark appearances. However, this only reveals the default system background. It does not
Questions
Is there a public API or supported configuration that lets a custom keyboard specify the background
color of the surrounding system-owned areas?
Can a custom keyboard supply a background image that extends into those areas, including beneath the
system globe and dictation controls?
If neither is supported, what is the documented boundary of background customization for a keyboard
extension? Is Feedback Assistant the appropriate place to request this capability?
iOS should retain control of the system buttons, including their behavior, accessibility, touch targets,
and contrast adjustments. We are asking to customize the background behind them while preserving their
functionality.
The solution must be suitable for App Store distribution and work when the keyboard is used in other apps,
without requiring changes to those host apps.
Reproduction steps
Enable the custom keyboard in Settings > General > Keyboard > Keyboards.
Open a UITextView in the containing app.
Switch to the custom keyboard.
Set the keyboard extension’s root-view background to an opaque white color while using dark appearance.
Observe the different backgrounds above and below the extension’s content.
Compare this with a build using UIColor.clear for the root-view background.
Implementation
Swift and UIKit
UIInputViewController keyboard extension
Test host: a UIKit UITextView in the containing app
Light and dark appearances tested
RequestsOpenAccess = false
Please point me to any relevant API or documentation, or clarify whether this would require a new API.
Thank you.
Topic:
UI Frameworks
SubTopic:
UIKit
0
0
51