ShinobiControls Xamarin Bindings Documentation

ShinobiEssentials : Shinobi.Essentials Namespace

SEssentialsCarouselCylindrical Class

An SEssentialsCarousel which displays all items on the surface of a cylinder.

Syntax

[Foundation.Register("SEssentialsCarouselCylindrical", true)]
public class SEssentialsCarouselCylindrical : SEssentialsCarousel

Remarks

The carousel items are evenly spaced on the surface of the cylinder along an elliptical path. The width and depth of the elliptical path can be configured along with the spacing between items and tilt of the cylinder. Rotation, fading and clipping can also be applied to items.

The width and depth of the cylinder are controlled by the WidthRatio and DepthRatio properties. The diagram below shows a top down view of the carousel and how these properties relate to the carousels size.

The SEssentialsCarouselCylindrical inherits from the SEssentialsCarousel base class. The methods and properties on the base class can be used to control all other aspects of the carousels behavior.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

Members

See Also: Inherited members from SEssentialsCarousel.

Public Constructors

Constructos a Cylindrical Carousel with a given frame.
A constructor that initializes the object from the data stored in the unarchiver object.

Protected Constructors

Constructor to call on derived classes to skip initialization and merely allocate the object.
A constructor used when creating managed representations of unmanaged objects.

Public Properties

Bounces bool . Whether the carousel will bounce on reaching the end, or simply stop. (Inherited from SEssentialsCarousel.)
[read-only]
override
ClassHandle IntPtr . The handle for this class.
[read-only]
override
ClassHandle IntPtr . The handle for this class. (Inherited from SEssentialsCarousel.)
ContentOffset nfloat . The current offset through the carousel, measured in indices. (Inherited from SEssentialsCarousel.)
[read-only]
CurrentItemInFocus UIKit.UIView . The item closest to the focus point of the carousel. (Inherited from SEssentialsCarousel.)
DataSource SEssentialsCarouselDataSource . The DataSource to call for fetching item content. (Inherited from SEssentialsCarousel.)
Delegate SEssentialsCarouselDelegate . The delegate to call back to on specific events. (Inherited from SEssentialsCarousel.)
DepthRatio nfloat . This controls the depth of the cylinder on which the items are placed.
FadeAlpha nfloat . Controls the minimum alpha value to apply to items in the carousel at the point specified by FadeDepth.
FadeDepth nfloat . This controls the point where items in the carousel reach an alpha value equal to FadeAlpha.
FocusPointNormalized CoreGraphics.CGPoint . The point in the carousel bounds to center items around. (Inherited from SEssentialsCarousel.)
FrictionCoefficient nfloat . How much friction to apply to the carousel. (Inherited from SEssentialsCarousel.)
FrontFacing bool . Controls whether the items remain forwards facing as they travel around the cylinder.
ItemSpacingFactor nfloat . This controls the spacing between the items in the carousel and is a positive number.
MaxNumberOfItemsToDisplay nint . The maximum number of on-screen items to display. (Inherited from SEssentialsCarousel.)
MomentumAnimationCurve SEssentialsAnimationCurve . The type of animation curve to use when panning the carousel. (Inherited from SEssentialsCarousel.)
Orientation SEssentialsCarouselOrientation . Controls the orientation of the cylinder the items are laid out around.
PanEnabled bool . Controls if the Carousel can be panned by the user. (Inherited from SEssentialsCarousel.)
PanGestureFrame CoreGraphics.CGRect . Specifies a sub-area of the carousel bounds to allow panning. (Inherited from SEssentialsCarousel.)
PanVector CoreGraphics.CGPoint . Specifies the direction of forward panning, as a vector. (Inherited from SEssentialsCarousel.)
ProgrammaticAnimationCurve SEssentialsAnimationCurve . The type of animation curve to use when programmatically changing the carousel offset. (Inherited from SEssentialsCarousel.)
SnapToFocusPoint bool . Controls if the Carousel will always finish pans centered on an item. (Inherited from SEssentialsCarousel.)
TiltFactor nfloat . This can be used to give the impression the camera is above or below the level of the items in the carousel.
[read-only]
VisibleItems UIKit.UIView[]. The set of all currently visible items on the carousel. (Inherited from SEssentialsCarousel.)
WeakDelegate Foundation.NSObject . The weak delegate to call back to on specific events. (Inherited from SEssentialsCarousel.)
WidthRatio nfloat . This controls the width of the cylinder on which the items are placed.
WrapItems bool . Controls if the Carousel will loop items. (Inherited from SEssentialsCarousel.)

Public Methods

AdjustSpacingToFitVisibleItemsExactly ()
Adjust the item spacing to fit exactly the number of visible views around the circle.
ConvertToIndex (nfloat) : nint
Documentation for this section has not yet been entered. (Inherited from SEssentialsCarousel.)
ConvertToOffset (nint) : nfloat
Converts an index to the nearest corresponding offset in the carousel. (Inherited from SEssentialsCarousel.)
PanToItem (nint, bool, nfloat)
Documentation for this section has not yet been entered. (Inherited from SEssentialsCarousel.)
PositionOfItemAtOffset (nfloat) : CoreGraphics.CGPoint
Documentation for this section has not yet been entered. (Inherited from SEssentialsCarousel.)
RedrawCarousel ()
Force a layout of all items in the carousel. (Inherited from SEssentialsCarousel.)
ReloadData ()
Reloads all items by re-requesting them from the DataSource. (Inherited from SEssentialsCarousel.)
SetContentOffset (nfloat, bool, nfloat)
Documentation for this section has not yet been entered. (Inherited from SEssentialsCarousel.)
TransformOfItemAtOffset (nfloat) : CoreAnimation.CATransform3D
Documentation for this section has not yet been entered. (Inherited from SEssentialsCarousel.)

Protected Methods

override
Dispose (bool)
Releases unmanaged resources. (Inherited from SEssentialsCarousel.)

Member Details

SEssentialsCarouselCylindrical Constructor

Constructos a Cylindrical Carousel with a given frame.

Syntax

public SEssentialsCarouselCylindrical (CoreGraphics.CGRect frame)

Parameters

frame
The Frame to use.

Remarks

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

SEssentialsCarouselCylindrical Constructor

A constructor that initializes the object from the data stored in the unarchiver object.

Syntax

[Foundation.Export("initWithCoder:")]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
public SEssentialsCarouselCylindrical (Foundation.NSCoder coder)

Parameters

coder
The unarchiver object

Remarks

This constructor is provided to allow the class to be initialized from an unarchiver (for example, during NIB deserialization).

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

SEssentialsCarouselCylindrical Constructor

Constructor to call on derived classes to skip initialization and merely allocate the object.

Syntax

[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
protected SEssentialsCarouselCylindrical (Foundation.NSObjectFlag t)

Parameters

t
Unused sentinel value

Remarks

You should not invoke this method directly.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

SEssentialsCarouselCylindrical Constructor

A constructor used when creating managed representations of unmanaged objects.

Syntax

[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
protected SEssentialsCarouselCylindrical (IntPtr handle)

Parameters

handle
Handle of the unmanaged object

Remarks

You should not invoke this method directly.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

AdjustSpacingToFitVisibleItemsExactly Method

Adjust the item spacing to fit exactly the number of visible views around the circle.

Syntax

[Foundation.Export("adjustSpacingToFitVisibleItemsExactly")]
public virtual void AdjustSpacingToFitVisibleItemsExactly ()

Remarks

This means that as one item disappears from view the next item appears in the same place on the circle and gives the illusion of items rotating seamlessly around.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

ClassHandle Property

The handle for this class.

Syntax

public override IntPtr ClassHandle { get; }

Value

Documentation for this section has not yet been entered.

Remarks

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

DepthRatio Property

This controls the depth of the cylinder on which the items are placed.

Syntax

[get: Foundation.Export("depthRatio", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setDepthRatio:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual nfloat DepthRatio { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

Must be a positive number. This allows control over the scaling of items as they move towards the back of the carousel. his value is the ratio of depth to the frame width (or height if SEssentialsCarouselCylindrical.Orientation is SEssentialsCarouselOrientation.Vertical). Defaults to 1.0.

The SEssentialsCarouselCylindrical displays items on an elliptical path. The DepthRatio defines the distance from the center to the front and back of the carousel. To control the width of the carousel use WidthRatio.

A value of 1.0 draws the cylinder such that the total depth is equal to the carousels frame size. A value of less that 1.0 draws the cylinder such that the total depth is less than the carousels frame size. A value greater than 1.0 draws the cylinder such that the total depth is greater than the carousels frame size.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

FadeAlpha Property

Controls the minimum alpha value to apply to items in the carousel at the point specified by FadeDepth.

Syntax

[get: Foundation.Export("fadeAlpha", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setFadeAlpha:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual nfloat FadeAlpha { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

It is a positive number between 0.0 and 1.0. Defaults to 0.0.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

FadeDepth Property

This controls the point where items in the carousel reach an alpha value equal to FadeAlpha.

Syntax

[get: Foundation.Export("fadeDepth", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setFadeDepth:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual nfloat FadeDepth { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

It is a positive number between 0.0 and 1.0. Defaults to 0.9.

A value of 1.0 would result in items at the back of the carousel having an alpha value of FadeAlpha. A value of 0.5 would result in all items from the back of the carousel to half through the carousel having an alpha value of FadeAlpha. A value of 0.0 would result in all items having an alpha value of FadeAlpha.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

FrontFacing Property

Controls whether the items remain forwards facing as they travel around the cylinder.

Syntax

[get: Foundation.Export("frontFacing", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setFrontFacing:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual bool FrontFacing { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

Defaults to false.

If true, the items will not rotate as they move away from the focus point. If false, the items will rotate to lie tangential to the surface of the cylinder as they move away from the focus point.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

ItemSpacingFactor Property

This controls the spacing between the items in the carousel and is a positive number.

Syntax

[get: Foundation.Export("itemSpacingFactor", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setItemSpacingFactor:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual nfloat ItemSpacingFactor { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

Defaults to 1.1.

A value of 1.0 would result in items being arranged so that they are touching side by side. A value of less that 1.0 would cause the items to overlap. A value greater than 1.0 would spread the items out with spaces between them.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

Orientation Property

Controls the orientation of the cylinder the items are laid out around.

Syntax

[get: Foundation.Export("orientation", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setOrientation:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual SEssentialsCarouselOrientation Orientation { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

If SEssentialsCarouselOrientation.Horizontal, items are laid out left-to-right. If SEssentialsCarouselOrientation.Vertical, items are laid out top-to-bottom.

Defaults to SEssentialsCarouselOrientation.Horizontal.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

TiltFactor Property

This can be used to give the impression the camera is above or below the level of the items in the carousel.

Syntax

[get: Foundation.Export("tiltFactor", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setTiltFactor:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual nfloat TiltFactor { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

The value represents the gradient of the items as they move further from the focus point. Defaults to 0.5.

A value of 0.0 will result in the items being arranged in a straight line. A value of 1.0 will result in the items moving at 45 degrees upwards as they move further from the focus point. A value of -1.0 will result in the items moving at 45 degrees downwards as they move further from the focus point.

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4

WidthRatio Property

This controls the width of the cylinder on which the items are placed.

Syntax

[get: Foundation.Export("widthRatio", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
[set: Foundation.Export("setWidthRatio:", ObjCRuntime.ArgumentSemantic.UnsafeUnretained)]
public virtual nfloat WidthRatio { get; set; }

Value

Documentation for this section has not yet been entered.

Remarks

Must be a positive number. This value is the ratio of carousel width to frame width (or carousel height to frame height if SEssentialsCarouselCylindrical.Orientation is SEssentialsCarouselOrientation.Vertical). Defaults to 1.0.

The SEssentialsCarouselCylindrical displays items on an elliptical path. The WidthRatio defines the distance from the center of the carousel to the left and right (or top and bottom if Orientation is set to SEssentialsCarouselOrientation.Vertical) edges of the carousel. To control the depth of the carousel use DepthRatio.

A value of 1.0 draws the cylinder such that the edges of the cylinder touch the carousels frame. A value of less that 1.0 would make the edges of the cylinder lie inside the carousels frame. A value greater than 1.0 would make the edges of the cylinder lie outside the carousels frame

Requirements

Namespace: Shinobi.Essentials
Assembly: ShinobiEssentials (in ShinobiEssentials.dll)
Assembly Versions: 2.8.0.4