123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- //
- // PBStackView.h
- // Flex
- //
- // Created by LStar on 2021/1/29.
- // Copyright © 2021 刘星辰. All rights reserved.
- //
- #import <UIKit/UIKit.h>
- @class PBFlexBoxLayout;
- @interface PBStackView : UIStackView
- /// 带位置布局block的添加view
- /// @param handle view的block
- /// @param layoutHandle 位置布局block
- - (void)addArrangedSubview:(UIView *(^)(void))handle
- layout:(void (^)(PBFlexBoxLayout * layout))layoutHandle;
- /// 更新view的位置block
- /// @param view 目标view
- /// @param layoutHandle 位置布局block
- - (void)updateArrangedSubview:(UIView *)view layout:(void (^)(PBFlexBoxLayout * layout))layoutHandle;
- /// 插入view
- /// @param handle view的block
- /// @param stackIndex 插入的下标
- /// @param layoutHandle 位置布局block
- - (void)insertArrangedSubview:(UIView *(^)(void))handle
- atIndex:(NSUInteger)stackIndex
- layout:(void (^)(PBFlexBoxLayout * layout))layoutHandle;
- @end
- @interface PBRowBox : PBStackView
- @end
- @interface PBColumnBox : PBStackView
- @end
- @interface PBFlexBoxLayout : NSObject
- /// 水平方向:左间距 垂直方向:上间距
- @property (nonatomic,assign)CGFloat leading;
- /// 水平方向:右间距 垂直方向:下间距
- @property (nonatomic,assign)CGFloat trailing;
- /// 控件的宽度 默认是:CGFLOAT_MAX
- @property (nonatomic,assign)CGFloat width;
- /// 控件的高度 默认是:CGFLOAT_MAX
- @property (nonatomic,assign)CGFloat height;
- @end
- @interface PBFlexBoxSpring : UIView
- @end
- @interface UIView(PBStackView)
- /// 更新view的位置block
- /// @param layoutHandle 位置布局block
- - (void)updateBoxLayout:(void (^)(PBFlexBoxLayout * layout))layoutHandle;
- @end
|