Hide or remove UI elements to create focused editing experiences tailored to your application.

5 mins
estimated time Overview#
CE.SDK provides two approaches for controlling UI element visibility:
| Approach | Method | Result |
|---|---|---|
| Hide component | [component].items { _ in } | Entire component hidden |
| Remove items | [component].modify { _, items in items.remove(id:) } | Specific items removed, container stays visible |
Hiding the Dock#
Provide an empty dock.items closure to hide the dock completely:
var editorWithHiddenDock: some View { Editor(settings) .imgly.configuration { GuideEditorConfiguration { builder in builder.dock { dock in dock.items { _ in // Empty — hides the dock completely } } } }}Removing Items from the Dock#
Use dock.modify with items.remove(id:) to remove specific buttons while keeping the dock visible:
builder.dock { dock in dock.items { _ in Dock.Button(id: "my.app.dock.elements") { _ in } label: { _ in Label("Elements", systemImage: "square.on.circle") } Dock.Button(id: "my.app.dock.images") { _ in } label: { _ in Label("Images", systemImage: "photo") } Dock.Button(id: "my.app.dock.text") { _ in } label: { _ in Label("Text", systemImage: "textformat") } Dock.Button(id: "my.app.dock.shapes") { _ in } label: { _ in Label("Shapes", systemImage: "square.on.circle.dashed") } } dock.modify { _, items in items.remove(id: "my.app.dock.elements") items.remove(id: "my.app.dock.shapes") }}Removing Items from the Navigation Bar#
Use navigationBar.modify to remove navigation buttons:
builder.navigationBar { navigationBar in navigationBar.modify { _, items in items.remove(id: NavigationBar.Buttons.ID.undo) items.remove(id: NavigationBar.Buttons.ID.redo) }}Removing Items from the Canvas Menu#
Use canvasMenu.modify to remove contextual menu actions:
builder.canvasMenu { canvasMenu in canvasMenu.items { _ in CanvasMenu.Buttons.bringForward() CanvasMenu.Buttons.sendBackward() CanvasMenu.Buttons.delete() } canvasMenu.modify { _, items in items.remove(id: CanvasMenu.Buttons.ID.bringForward) }}Removing Items from the Inspector Bar#
Use inspectorBar.modify to remove inspector actions:
builder.inspectorBar { inspectorBar in inspectorBar.items { _ in InspectorBar.Buttons.crop() InspectorBar.Buttons.adjustments() InspectorBar.Buttons.filter() } inspectorBar.modify { _, items in items.remove(id: InspectorBar.Buttons.ID.crop) }}Each component exposes its button IDs through a dedicated enum:
| Component | ID Enum |
|---|---|
| Dock | Dock.Buttons.ID.* |
| Navigation Bar | NavigationBar.Buttons.ID.* |
| Canvas Menu | CanvasMenu.Buttons.ID.* |
| Inspector Bar | InspectorBar.Buttons.ID.* |
Creating a Minimal UI#
Combine hiding and defining to create a canvas-focused interface. Hide the dock and use navigationBar.items to define only the buttons you need:
var editorWithMinimalUI: some View { Editor(settings) .imgly.configuration { GuideEditorConfiguration { builder in builder.dock { dock in dock.items { _ in } } builder.navigationBar { navigationBar in navigationBar.items { _ in NavigationBar.ItemGroup(placement: .topBarLeading) { NavigationBar.Buttons.closeEditor() } } } } }}Next Steps#
- Customize Dock - Full dock customization patterns
- Customize Navigation Bar - Navigation bar configuration
- Rearrange Buttons - Button positioning across components
- Add a New Button - Add custom buttons to components