class
UI::ActivityView
- UI::ActivityView
- UI::View
- Reference
- Object
Overview
UI::ActivityView — share sheet / activity view component.
HIG abstract: "An activity view — often called a share sheet — presents a range of tasks that people can perform in the current context."
Layout (four zones, top-to-bottom):
- Header: HStack(thumbnail, VStack(title, subtitle))
- Destinations: horizontal ScrollView of circular destination glyphs (~60pt) with labels below each.
- Actions: two-column grid of action tiles (icon + label).
- Cancel: full-width semibold Cancel button at bottom.
HIG Platform considerations: "Not supported in macOS, tvOS, or watchOS."
On macOS the renderer emits an NSVisualEffectView popover approximation
with all four zones rendered inline for validation, while runtime sharing
can present NSSharingServicePicker from the same view model. On iOS the
visitor renders inline for the validation capture path and presents
UIActivityViewController when #is_presented is true and a share payload
is present.
Glass material: NSVisualEffectMaterialPopover (6) on macOS; UIBlurEffect(systemChromeMaterial) / UIGlassEffect on iOS 26.
Defined in:
ui/views/activity_view.crConstructors
Instance Method Summary
-
#accept(visitor : PlatformVisitor)
Accept a platform visitor for rendering dispatch.
-
#actions : Array(ActivityAction)
Zone 3 — Action tile grid
-
#actions=(actions : Array(ActivityAction))
Zone 3 — Action tile grid
-
#destinations : Array(ActivityDestination)
Zone 2 — Horizontal destination row
-
#destinations=(destinations : Array(ActivityDestination))
Zone 2 — Horizontal destination row
-
#is_presented : Bool
Presentation state.
-
#is_presented=(is_presented : Bool)
Presentation state.
-
#on_cancel : Proc(Nil) | Nil
Zone 4 — Cancel
-
#on_cancel=(on_cancel : Proc(Nil) | Nil)
Zone 4 — Cancel
- #share_subject : String | Nil
- #share_subject=(share_subject : String | Nil)
-
#share_text : String | Nil
Optional native share payload.
-
#share_text=(share_text : String | Nil)
Optional native share payload.
- #share_url : String | Nil
- #share_url=(share_url : String | Nil)
- #subtitle : String | Nil
- #subtitle=(subtitle : String | Nil)
- #thumbnail : View | Nil
- #thumbnail=(thumbnail : View | Nil)
-
#title : String
Zone 1 — Header
-
#title=(title : String)
Zone 1 — Header
Instance methods inherited from class UI::View
accept(visitor : PlatformVisitor)
accept,
accessibility_label : String | Nil
accessibility_label,
accessibility_label=(accessibility_label : String | Nil)
accessibility_label=,
background : Color | Nil
background,
background=(background : Color | Nil)
background=,
blur_radius : Float64
blur_radius,
blur_radius=(blur_radius : Float64)
blur_radius=,
border_color : Color | Nil
border_color,
border_color=(border_color : Color | Nil)
border_color=,
border_width : Float64
border_width,
border_width=(border_width : Float64)
border_width=,
clip_to_bounds : Bool
clip_to_bounds,
clip_to_bounds=(clip_to_bounds : Bool)
clip_to_bounds=,
container_query(name : String) : self
container_query,
container_query_name : String | Nil
container_query_name,
container_query_name=(container_query_name : String | Nil)
container_query_name=,
corner_radius : Float64
corner_radius,
corner_radius=(corner_radius : Float64)
corner_radius=,
fill_screen! : self
fill_screen!,
fluid_height(min : String | Number, ideal : String | Number, max : String | Number) : selffluid_height : UI::Fluid | Nil fluid_height, fluid_height=(fluid_height : UI::Fluid | Nil) fluid_height=, fluid_width(min : String | Number, ideal : String | Number, max : String | Number) : self
fluid_width : UI::Fluid | Nil fluid_width, fluid_width=(fluid_width : UI::Fluid | Nil) fluid_width=, hidden : Bool hidden, hidden=(hidden : Bool) hidden=, id : String | Nil id, id=(id : String | Nil) id=, maximum_height : Float64 | Nil maximum_height, maximum_height=(maximum_height : Float64 | Nil) maximum_height=, maximum_width : Float64 | Nil maximum_width, maximum_width=(maximum_width : Float64 | Nil) maximum_width=, minimum_height : Float64 | Nil minimum_height, minimum_height=(minimum_height : Float64 | Nil) minimum_height=, minimum_width : Float64 | Nil minimum_width, minimum_width=(minimum_width : Float64 | Nil) minimum_width=, opacity : Float64 opacity, opacity=(opacity : Float64) opacity=, padding : EdgeInsets padding, padding=(padding : EdgeInsets) padding=, root_fill : Bool root_fill, root_fill=(root_fill : Bool) root_fill=, shadow_color : Color | Nil shadow_color, shadow_color=(shadow_color : Color | Nil) shadow_color=, shadow_offset_x : Float64 shadow_offset_x, shadow_offset_x=(shadow_offset_x : Float64) shadow_offset_x=, shadow_offset_y : Float64 shadow_offset_y, shadow_offset_y=(shadow_offset_y : Float64) shadow_offset_y=, shadow_radius : Float64 shadow_radius, shadow_radius=(shadow_radius : Float64) shadow_radius=, swiftkit_state_handle : Pointer(Void) | Nil swiftkit_state_handle, swiftkit_state_handle=(swiftkit_state_handle : Pointer(Void) | Nil) swiftkit_state_handle=, test_id : String | Nil test_id, test_id=(test_id : String | Nil) test_id=
Constructor Detail
Instance Method Detail
Accept a platform visitor for rendering dispatch.
Each concrete view type calls visitor.visit(self).
Presentation state. When true and share payload is present, native renderers present the platform share UI in addition to the inline validation layout used for previews.
Presentation state. When true and share payload is present, native renderers present the platform share UI in addition to the inline validation layout used for previews.