Search Docs
Loading...
Skip to content

Hide Elements

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

Editor with hidden dock

5 mins
estimated time
GitHub

Overview#

CE.SDK provides two approaches for controlling UI element visibility:

ApproachMethodResult
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:

ComponentID Enum
DockDock.Buttons.ID.*
Navigation BarNavigationBar.Buttons.ID.*
Canvas MenuCanvasMenu.Buttons.ID.*
Inspector BarInspectorBar.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#