All Products
Search
Document Center

Mobile Platform as a Service:Image picker encapsulation

Last Updated:Mar 09, 2022

AUImagePickerSkeleton is an image selection component that encapsulates the vision and interaction functions. It does not support album calling, browsing, or uploading. Currently, the image selection functions are incomplete. The component that inherits functions will be added to BEEViews.

Sample image

evidence

Dependency

Currently, this component is not added to the AntUI baseline.

API description

@protocol AUImagePickerDataProtocol <NSObject>

- (UIImage *)image;

@end

@interface AUImagePickerSkeleton : UIView

- (AUImagePickerSkeleton *)initWithTitle:(NSString *)title
               maxNumberOfImages:(NSUInteger)maxNumberOfImages;

@property(nonatomic, assign, readonly) NSUInteger maxNumberOfImages;
@property(nonatomic, weak) id<AUImagePickerDelegate> delegate;
@property(nonatomic, strong, readonly) NSArray<id<AUImagePickerDataProtocol>> *imagePickerDatas;

- (void)updateImagePickerDatas:(NSArray <id<AUImagePickerDataProtocol>>*) datas;

@end

@protocol AUImagePickerDelegate <NSObject>

@required
- (void)imagePickerAddButtonClick:(AUImagePickerSkeleton *)imagePicker;

@optional
- (void)imagePickerImageClick:(AUImagePickerSkeleton *)imagePicker
                   clickData:(id<AUImagePickerDataProtocol>)clickData;
@end

Sample code

- (void)viewDidLoad {
    [super viewDidLoad];
    self.datas = [[NSMutableArray alloc] init];
    self.picker = [[AUImagePickerSkeleton alloc] initWithTitle:@"Image(optional, upload screenshots as an evidence)"maxNumberOfImages:4];
    self.picker.top = 100;
    self.picker.delegate = self;
    [self.view addSubview:self.picker];
    [self.view addSubview:self.button];
    self.view.backgroundColor = RGB(0xEBEBEB);
}

- (void)imagePickerAddButtonClick:(AUImagePickerSkeleton *)imagePicker
{
    AUImagePickerData *data = [AUImagePickerData new];
    data.originalImage = [self getImageWithCount:[self.datas count]];
    [self.datas addObject:data];
    [self updatePickerAndResize];
}

-(void)imagePickerImageClick:(AUImagePickerSkeleton *)imagePicker
                   clickData:(id<AUImagePickerDataProtocol>)clickData
{
    NSString *msg = @"";
    if ([self.datas containsObject:clickData]) {
        msg = [NSString stringWithFormat:@"Tap image %d",(int)[self.datas indexOfObject:clickData]+1];
    }else{
        msg = @"The image tapped is abnormal";
    }
    [AUToast presentModalToastWithin:self.view
                            withIcon:AUToastIconNone
                                text:msg
                            duration:1
                              logTag:@"demo"
                          completion:NULL];

}