react-native-navigation的迁移库

RNNTopBarOptions.m 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #import "RNNTopBarOptions.h"
  2. #import "RNNNavigationButtons.h"
  3. #import "RNNCustomTitleView.h"
  4. #import "UIViewController+RNNOptions.h"
  5. #import "UINavigationController+RNNOptions.h"
  6. @interface RNNTopBarOptions ()
  7. @property (nonatomic, strong) RNNNavigationButtons* navigationButtons;
  8. @end
  9. @implementation RNNTopBarOptions
  10. - (instancetype)initWithDict:(NSDictionary *)dict {
  11. self = [super init];
  12. self.visible = [BoolParser parse:dict key:@"visible"];
  13. self.hideOnScroll = [BoolParser parse:dict key:@"hideOnScroll"];
  14. self.leftButtonColor = [ColorParser parse:dict key:@"leftButtonColor"];
  15. self.rightButtonColor = [ColorParser parse:dict key:@"rightButtonColor"];
  16. self.leftButtonDisabledColor = [ColorParser parse:dict key:@"leftButtonDisabledColor"];
  17. self.rightButtonDisabledColor = [ColorParser parse:dict key:@"rightButtonDisabledColor"];
  18. self.drawBehind = [BoolParser parse:dict key:@"drawBehind"];
  19. self.noBorder = [BoolParser parse:dict key:@"noBorder"];
  20. self.animate = [BoolParser parse:dict key:@"animate"];
  21. self.searchBar = [BoolParser parse:dict key:@"searchBar"];
  22. self.searchBarHiddenWhenScrolling = [BoolParser parse:dict key:@"searchBarHiddenWhenScrolling"];
  23. self.hideNavBarOnFocusSearchBar = [BoolParser parse:dict key:@"hideNavBarOnFocusSearchBar"];
  24. self.testID = [TextParser parse:dict key:@"testID"];
  25. self.barStyle = [TextParser parse:dict key:@"barStyle"];
  26. self.searchBarPlaceholder = [TextParser parse:dict key:@"searchBarPlaceholder"];
  27. self.largeTitle = [[RNNLargeTitleOptions alloc] initWithDict:dict[@"largeTitle"]];
  28. self.title = [[RNNTitleOptions alloc] initWithDict:dict[@"title"]];
  29. self.subtitle = [[RNNSubtitleOptions alloc] initWithDict:dict[@"subtitle"]];
  30. self.background = [[RNNBackgroundOptions alloc] initWithDict:dict[@"background"]];
  31. self.backButton = [[RNNBackButtonOptions alloc] initWithDict:dict[@"backButton"]];
  32. self.leftButtonStyle = [[RNNButtonOptions alloc] initWithDict:dict[@"leftButtonStyle"]];
  33. self.rightButtonStyle = [[RNNButtonOptions alloc] initWithDict:dict[@"rightButtonStyle"]];
  34. self.component = [[RNNComponentOptions alloc] initWithDict:dict[@"component"]];
  35. if (self.leftButtonColor.hasValue) {
  36. self.leftButtonStyle.color = self.leftButtonColor;
  37. }
  38. if (self.rightButtonColor.hasValue) {
  39. self.rightButtonStyle.color = self.rightButtonColor;
  40. }
  41. if (self.leftButtonDisabledColor.hasValue) {
  42. self.leftButtonStyle.disabledColor = self.rightButtonDisabledColor;
  43. }
  44. if (self.rightButtonDisabledColor.hasValue) {
  45. self.rightButtonStyle.disabledColor = self.rightButtonDisabledColor;
  46. }
  47. self.leftButtons = dict[@"leftButtons"];
  48. self.rightButtons = dict[@"rightButtons"];
  49. return self;
  50. }
  51. @end