AUVerticalTabView is a vertical tab-based component.
Dependency
The dependency of AUVerticalTabView is as follows:
AntUI
API description
#import <UIKit/UIKit.h>
@protocol AUVerticalTabViewDataProtocol <NSObject>
@required
- (NSString *) tabName;
@end
@class AUVerticalTabView;
typedef void (^AUVerticalTabSelectedCallback)(AUVerticalTabView *verticalTabView);
@interface AUVerticalTabView : UIView
/**
The recommended initialization method. The layout parameters are standardized by AntDNA.
AUVerticalTabView : width=110pt
TabCell : width=110pt,height=55pt
@param verticalTabViewDatas Set tab data.
@param selectedCallback Set the tapping event callback.
@param height The height of AUVerticalTabView.
@param business The business identifier, such as GoldWord or BeeCityPicker.
@return AUVerticalTabView
*/
+ (AUVerticalTabView *)verticalTabViewWithDatas:(NSArray <id<AUVerticalTabViewDataProtocol>>*) verticalTabViewDatas
selectedCallback:(AUVerticalTabSelectedCallback)selectedCallback
height:(CGFloat)height
business:(NSString *)business;
@property(nonatomic, strong) NSArray <id<AUVerticalTabViewDataProtocol>>* verticalTabViewDatas;
@property(nonatomic, assign) NSUInteger selectedIndex;//default 0
@property(nonatomic, copy) AUVerticalTabSelectedCallback selectedCallback;
@end
Code sample
// The external data object implementation AUVerticalTabViewDataProtocol, which returns the required tabName.
@interface DemoVerticalTabData : NSObject <AUVerticalTabViewDataProtocol>
- (NSString *)tabName;
@end
NSArray *datas = @[[DemoVerticalTabData new],
[DemoVerticalTabData new],
[DemoVerticalTabData new],
[DemoVerticalTabData new],
[DemoVerticalTabData new],
[DemoVerticalTabData new],
[DemoVerticalTabData new]];
AUVerticalTabView *tabView = [AUVerticalTabView verticalTabViewWithDatas:datas
selectedCallback:^(AUVerticalTabView *verticalTabView ){
NSUInteger selectedIndex = verticalTabView.selectedIndex;
id<AUVerticalTabViewDataProtocol> selectedData = [verticalTabView.verticalTabViewDatas objectAtIndex:selectedIndex];
}
height:self.view.height
business:@"AntUI"];
[self.view addSubview:tabView];