mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-02-06 22:46:01 +08:00
When some of config props change or new header items are added we need to perform a header update. This diff adds logic to trigger updating header props when that happens.
54 lines
1.7 KiB
Objective-C
54 lines
1.7 KiB
Objective-C
#import <React/RCTViewManager.h>
|
|
#import <React/RCTConvert.h>
|
|
|
|
#import "RNSScreen.h"
|
|
|
|
@interface RNSScreenStackHeaderConfig : UIView
|
|
|
|
@property (nonatomic, weak) RNSScreenView *screenView;
|
|
|
|
@property (nonatomic, retain) NSString *title;
|
|
@property (nonatomic, retain) NSString *titleFontFamily;
|
|
@property (nonatomic, retain) NSNumber *titleFontSize;
|
|
@property (nonatomic, retain) UIColor *titleColor;
|
|
@property (nonatomic, retain) NSString *backTitle;
|
|
@property (nonatomic, retain) NSString *backTitleFontFamily;
|
|
@property (nonatomic, retain) NSNumber *backTitleFontSize;
|
|
@property (nonatomic, retain) UIColor *backgroundColor;
|
|
@property (nonatomic, retain) UIColor *color;
|
|
@property (nonatomic) BOOL hide;
|
|
@property (nonatomic) BOOL largeTitle;
|
|
@property (nonatomic, retain) NSString *largeTitleFontFamily;
|
|
@property (nonatomic, retain) NSNumber *largeTitleFontSize;
|
|
@property (nonatomic) BOOL hideBackButton;
|
|
@property (nonatomic) BOOL hideShadow;
|
|
@property (nonatomic) BOOL translucent;
|
|
@property (nonatomic) BOOL gestureEnabled;
|
|
|
|
+ (void)willShowViewController:(UIViewController *)vc withConfig:(RNSScreenStackHeaderConfig*)config;
|
|
|
|
@end
|
|
|
|
@interface RNSScreenStackHeaderConfigManager : RCTViewManager
|
|
|
|
@end
|
|
|
|
typedef NS_ENUM(NSInteger, RNSScreenStackHeaderSubviewType) {
|
|
RNSScreenStackHeaderSubviewTypeLeft,
|
|
RNSScreenStackHeaderSubviewTypeRight,
|
|
RNSScreenStackHeaderSubviewTypeTitle,
|
|
RNSScreenStackHeaderSubviewTypeCenter,
|
|
};
|
|
|
|
@interface RCTConvert (RNSScreenStackHeader)
|
|
|
|
+ (RNSScreenStackHeaderSubviewType)RNSScreenStackHeaderSubviewType:(id)json;
|
|
|
|
@end
|
|
|
|
@interface RNSScreenStackHeaderSubviewManager : RCTViewManager
|
|
|
|
@property (nonatomic) RNSScreenStackHeaderSubviewType type;
|
|
|
|
@end
|