AnyView

Struct AnyView 

Source
pub struct AnyView(/* private fields */);
Expand description

A type-erased wrapper for a View.

This allows storing and passing around different view types uniformly.

Implementations§

Source§

impl AnyView

Source

pub fn new<V>(view: V) -> AnyView
where V: View,

Creates a new AnyView from any type that implements View.

If the provided view is already an AnyView, it will be unwrapped to avoid unnecessary nesting.

Source

pub fn is<T>(&self) -> bool
where T: 'static,

Checks if the contained view is of type T.

Source

pub fn type_id(&self) -> TypeId

Returns the TypeId of the contained view.

Source

pub fn name(&self) -> &'static str

Returns the type name of the contained view.

Source

pub fn stretch_axis(&self) -> StretchAxis

Returns the stretch axis of the contained view.

This delegates to the View::stretch_axis() method of the wrapped view, which for native views returns their layout stretch behavior.

Source

pub unsafe fn downcast_unchecked<T>(self) -> Box<T>
where T: 'static,

Downcasts AnyView to a concrete view type without any runtime checks.

§Safety

Calling this method with the incorrect type is undefined behavior.

Source

pub const unsafe fn downcast_ref_unchecked<T>(&self) -> &T
where T: 'static,

Returns a reference to the contained view without any runtime checks.

§Safety

Calling this method with the incorrect type is undefined behavior.

Source

pub const unsafe fn downcast_mut_unchecked<T>(&mut self) -> &mut T
where T: 'static,

Returns a mutable reference to the contained view without any runtime checks.

§Safety

Calling this method with the incorrect type is undefined behavior.

Source

pub fn downcast<T>(self) -> Result<Box<T>, AnyView>
where T: 'static,

Attempts to downcast AnyView to a concrete view type.

Returns Ok with the boxed value if the types match, or Err with the original AnyView if the types don’t match.

§Errors

Returns Err(Self) if the contained type does not match T.

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: 'static,

Attempts to get a reference to the contained view of a specific type.

Returns Some if the types match, or None if they don’t.

Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: 'static,

Attempts to get a mutable reference to the contained view of a specific type.

Returns Some if the types match, or None if they don’t.

Trait Implementations§

Source§

impl Debug for AnyView

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for AnyView

Source§

fn default() -> AnyView

Returns the “default value” for a type. Read more
Source§

impl View for AnyView

Source§

fn body(self, env: &Environment) -> impl View

Build this view and return the content. Read more

Auto Trait Implementations§

§

impl Freeze for AnyView

§

impl !RefUnwindSafe for AnyView

§

impl !Send for AnyView

§

impl !Sync for AnyView

§

impl Unpin for AnyView

§

impl !UnwindSafe for AnyView

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> IdentifiableExt for T

Source§

fn use_id<F, Id>(self, f: F) -> UseId<Self, F>
where F: Fn(&Self) -> Id, Id: Ord + Hash,

Wraps the value in a UseId with the provided identification function.
Source§

fn self_id(self) -> SelfId<Self>

Wraps the value in a SelfId, making the value serve as its own identifier.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<V> IntoView for V
where V: View,

Source§

type Output = V

The resulting View type after conversion.
Source§

fn into_view(self, _env: &Environment) -> <V as IntoView>::Output

Converts the implementing type into a View. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<V> ViewExt for V
where V: View,

Source§

fn metadata<T: MetadataKey>(self, metadata: T) -> Metadata<T>

Attaches metadata to a view. Read more
Source§

fn with<T: 'static>(self, value: T) -> With<Self, T>

Associates a value with this view in the environment.
Source§

fn title(self, title: impl Into<Text>) -> NavigationView

Sets this view as the content of a navigation view with the specified title. Read more
Source§

fn focused<T: 'static + Eq + Clone>( self, value: &Binding<Option<T>>, equals: T, ) -> Metadata<Focused>

Marks this view as focused when the binding matches the specified value. Read more
Source§

fn on_change<C, F>(self, source: &C, handler: F) -> OnChange<Self, C::Guard>
where C: Signal, C::Output: PartialEq + Clone, F: Fn(C::Output) + 'static,

Monitors a signal for changes and triggers a handler when the signal’s value changes. Read more
Source§

fn task<Fut>(self, task: Fut) -> Metadata<Retain>
where Fut: Future<Output = ()> + 'static,

Spawns an asynchronous task tied to the lifecycle of this view. Read more
Source§

fn anyview(self) -> AnyView

Converts this view to an AnyView type-erased container.
Source§

fn background(self, background: impl Into<Background>) -> Metadata<Background>

Sets the background of this view. Read more
Source§

fn foreground( self, color: impl IntoComputed<Color>, ) -> Metadata<ForegroundColor>

Sets the foreground color of this view. Read more
Source§

fn overlay<V>(self, overlay: V) -> Overlay<Self, V>

Adds an overlay to this view. Read more
Source§

fn event<H: 'static>( self, event: Event, handler: impl HandlerFnOnce<H, ()> + 'static, ) -> Metadata<OnEvent>

Adds an event handler for the specified event. Read more
Source§

fn on_disappear<H: 'static>( self, handler: impl HandlerFnOnce<H, ()> + 'static, ) -> Metadata<OnEvent>

Adds a handler that triggers when the view disappears. Read more
Source§

fn on_appear<H: 'static>( self, handler: impl HandlerFnOnce<H, ()> + 'static, ) -> Metadata<OnEvent>

Adds a handler that triggers when the view appears. Read more
Source§

fn badge(self, value: impl IntoComputed<i32>) -> Badge

Adds a badge to this view. Read more
Source§

fn width(self, width: f32) -> Frame

Fixes this view’s width to the provided value.
Source§

fn height(self, height: f32) -> Frame

Fixes this view’s height to the provided value.
Source§

fn min_width(self, width: f32) -> Frame

Applies a minimum width constraint.
Source§

fn max_width(self, width: f32) -> Frame

Applies a maximum width constraint.
Source§

fn min_height(self, height: f32) -> Frame

Applies a minimum height constraint.
Source§

fn max_height(self, height: f32) -> Frame

Applies a maximum height constraint.
Source§

fn size(self, width: f32, height: f32) -> Frame

Fixes both width and height simultaneously.
Source§

fn min_size(self, width: f32, height: f32) -> Frame

Applies minimum constraints on both axes.
Source§

fn max_size(self, width: f32, height: f32) -> Frame

Applies maximum constraints on both axes.
Source§

fn alignment(self, alignment: Alignment) -> Frame

Aligns this view within its frame using the provided alignment.
Source§

fn padding_with(self, edge: impl Into<EdgeInsets>) -> Padding

Adds padding to this view with custom edge insets. Read more
Source§

fn padding(self) -> Padding

Adds default padding to this view. Read more
Source§

fn secure(self) -> Metadata<Secure>

Marks this view as secure. Read more
Source§

fn tag<T>(self, tag: T) -> TaggedView<T, Self>

Tags this view with a custom tag for identification. Read more
Source§

fn a11y_label( self, label: impl Into<Str>, ) -> IgnorableMetadata<AccessibilityLabel>

Sets the accessibility label for this view. Read more
Source§

fn a11y_role( self, role: AccessibilityRole, ) -> IgnorableMetadata<AccessibilityRole>

Sets the accessibility role for this view. Read more
Source§

fn gesture<P: 'static>( self, gesture: impl Into<Gesture>, action: impl HandlerFn<P, ()> + 'static, ) -> Metadata<GestureObserver>

Observes a gesture and executes an action when the gesture is recognized. Read more
Source§

fn on_tap<P: 'static>( self, action: impl HandlerFn<P, ()> + 'static, ) -> Metadata<GestureObserver>

Adds a tap gesture recognizer to this view that triggers the specified action. Read more
Source§

fn shadow(self, shadow: impl Into<Shadow>) -> Metadata<Shadow>

Applies a shadow effect to this view.
Source§

fn ignore_safe_area(self, edges: EdgeSet) -> Metadata<IgnoreSafeArea>

Extends this view’s bounds to ignore safe area insets on the specified edges. Read more
Source§

fn install(self, plugin: impl Plugin) -> impl View

Installs a plugin into the environment.
Source§

fn retain<T: 'static>(self, value: T) -> Metadata<Retain>

Retains a value for the lifetime of this view. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more