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
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];
}