Vertical tab

更新时间:
复制 MD 格式

AUVerticalTabView provides a vertical tab selector for switching between content sections.

Dependency

AUVerticalTabView depends on the following component:

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