Linear Control Group

Defined in framework ScanditDataCaptureCore

SDCLinearControlGroupOrientation

Added in version 6.14.0

The orientation in which a SDCLinearControlGroup will render its child controls.

SDCLinearControlGroupOrientationVertical

Added in version 6.14.0

Vertical orientation.

SDCLinearControlGroupOrientationHorizontal

Added in version 6.14.0

Horizontal orientation.

SDCLinearControlGroup
@interface SDCLinearControlGroup : NSObject <SDCControl>

Added in version 6.14.0

A Control that contains multiple sub-controls allowing for spacing and orientation to be specified through initializer. This control will arrange child controls either horizontally in a single column or vertically in a single row. Use one of the initializers to build an instance of this control and add to a DataCaptureView by calling SDCDataCaptureView.addControl:.

For example, in Swift:

let torchControl = TorchSwitchControl()
let macroModeControl = MacroModeControl()
let linearControlGroup = LinearControlGroup(controls:[torchControl, macroModeControl], orientation:.horizontal);
captureView.addControl(linearControlGroup)

or, in Objective-C:

SDCTorchSwitchControl *torchControl = [[SDCTorchSwitchControl alloc] init];
SDCMacroModeControl *macroModeControl = [[SDCMacroModeControl alloc] init];
SDCLinearControlGroup *linearControlGroup = [[SDCLinearControlGroup alloc] initWithControls:@[torchControl, macroModeControl] orientation:SDCLinearControlGroupOrientationHorizontal];
[self.captureView addControl:linearControlGroup];

Note

The controls are added from top to bottom when vertical, from left to right when horizontal.

- initWithControls:
- (instancetype)initWithControls:(NSArray<id<SDCControl>> *)controls

Added in version 6.14.0

Initializes a new linear control group with controls which will be displayed inside the LinearControlGroup.

- initWithControls:orientation:
- (instancetype)initWithControls:(NSArray<id<SDCControl>> *)controls
                     orientation:(SDCLinearControlGroupOrientation)orientation

Added in version 6.14.0

Initializes a new linear control group with controls which will be displayed inside the LinearControlGroup and specified orientation.

- initWithControls:spacing:
- (instancetype)initWithControls:(NSArray<id<SDCControl>> *)controls
                         spacing:(SDCFloatWithUnit)spacing

Added in version 6.14.0

Initializes a new linear control group with controls which will be displayed inside the LinearControlGroup and specified spacing applied between controls inside the LinearControlGroup.

- initWithControls:orientation:spacing:
- (instancetype)initWithControls:(NSArray<id<SDCControl>> *)controls
                     orientation:(SDCLinearControlGroupOrientation)orientation
                         spacing:(SDCFloatWithUnit)spacing

Added in version 6.14.0

Initializes a new linear control group with controls which will be displayed inside the LinearControlGroup, specified orientation and spacing applied between controls inside the LinearControlGroup.

+ linearControlGroupFromJSONString:error:
+ (nullable instancetype)linearControlGroupFromJSONString:(nonnull NSString *)JSONString
                                                    error:(NSError **)error

Added in version 6.15.0

Constructs a new linear control group with the provided JSON serialization.

orientation
@property (nonatomic, readonly) SDCLinearControlGroupOrientation orientation

Added in version 6.14.0

Get the orientation for the LinearControlGroup.

spacing
@property (nonatomic, readonly) SDCFloatWithUnit spacing

Added in version 6.14.0

Get the spacing applied between controls inside the LinearControlGroup being built.

controls
@property (nonatomic, nonnull, readonly) NSArray<id<SDCControl>> *controls

Added in version 6.14.0

Get the list of controls currently in this group.