Commit a02f85c8 cgx

导航栏封装

1 个父辈 4f91ddfa
......@@ -32,6 +32,8 @@
D076C14327F49DC000340B46 /* TmpViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D076C14227F49DC000340B46 /* TmpViewController.m */; };
D07F9DE927F4683B0036372F /* DKColorTable.txt in Resources */ = {isa = PBXBuildFile; fileRef = D07F9DE827F4683B0036372F /* DKColorTable.txt */; };
D0930F122801124E006B497A /* BaseNaviController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0930F112801124E006B497A /* BaseNaviController.m */; };
D0930F1A2801874B006B497A /* UIViewController+Swizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = D0930F152801874B006B497A /* UIViewController+Swizzling.m */; };
D0930F1B2801874B006B497A /* UINavigationController+Pop.m in Sources */ = {isa = PBXBuildFile; fileRef = D0930F182801874B006B497A /* UINavigationController+Pop.m */; };
D0B5ECA627F2D9DE003EDFE3 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B5ECA527F2D9DE003EDFE3 /* AppDelegate.m */; };
D0B5ECAC27F2D9DE003EDFE3 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B5ECAB27F2D9DE003EDFE3 /* ViewController.m */; };
D0B5ECAF27F2D9DE003EDFE3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D0B5ECAD27F2D9DE003EDFE3 /* Main.storyboard */; };
......@@ -108,6 +110,11 @@
D07F9DE827F4683B0036372F /* DKColorTable.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DKColorTable.txt; sourceTree = "<group>"; };
D0930F102801124E006B497A /* BaseNaviController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseNaviController.h; sourceTree = "<group>"; };
D0930F112801124E006B497A /* BaseNaviController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BaseNaviController.m; sourceTree = "<group>"; };
D0930F152801874B006B497A /* UIViewController+Swizzling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Swizzling.m"; sourceTree = "<group>"; };
D0930F162801874B006B497A /* UINavigationController+Pop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UINavigationController+Pop.h"; sourceTree = "<group>"; };
D0930F172801874B006B497A /* UIViewController+Swizzling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Swizzling.h"; sourceTree = "<group>"; };
D0930F182801874B006B497A /* UINavigationController+Pop.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UINavigationController+Pop.m"; sourceTree = "<group>"; };
D0930F192801874B006B497A /* NaviBarHandlerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NaviBarHandlerProtocol.h; sourceTree = "<group>"; };
D0B5ECA127F2D9DE003EDFE3 /* DreamSleep.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DreamSleep.app; sourceTree = BUILT_PRODUCTS_DIR; };
D0B5ECA427F2D9DE003EDFE3 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
D0B5ECA527F2D9DE003EDFE3 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
......@@ -217,6 +224,7 @@
D027EE2A27FB5285004BBA61 /* Category */ = {
isa = PBXGroup;
children = (
D0930F142801874B006B497A /* DSNavigationTools */,
D0C50B3D27FD381000DC68F0 /* UIView+Extras.h */,
D0C50B3E27FD381000DC68F0 /* UIView+Extras.m */,
D027EE2E27FB52DA004BBA61 /* UIImage+Extras.h */,
......@@ -313,6 +321,18 @@
path = Profile;
sourceTree = "<group>";
};
D0930F142801874B006B497A /* DSNavigationTools */ = {
isa = PBXGroup;
children = (
D0930F192801874B006B497A /* NaviBarHandlerProtocol.h */,
D0930F162801874B006B497A /* UINavigationController+Pop.h */,
D0930F182801874B006B497A /* UINavigationController+Pop.m */,
D0930F172801874B006B497A /* UIViewController+Swizzling.h */,
D0930F152801874B006B497A /* UIViewController+Swizzling.m */,
);
path = DSNavigationTools;
sourceTree = "<group>";
};
D0B5EC9827F2D9DE003EDFE3 = {
isa = PBXGroup;
children = (
......@@ -565,6 +585,7 @@
D0C09EE028007E5F00709D4C /* BreatheController.m in Sources */,
D0C50B4627FD66FB00DC68F0 /* DSConstUtil.m in Sources */,
D01814D227FFCBAF00583D4E /* CWFlowLayout.m in Sources */,
D0930F1B2801874B006B497A /* UINavigationController+Pop.m in Sources */,
D01814DF27FFDB6A00583D4E /* HomeTableViewCell.m in Sources */,
D01814D527FFCCFA00583D4E /* HomeTableView.m in Sources */,
D076C14327F49DC000340B46 /* TmpViewController.m in Sources */,
......@@ -579,6 +600,7 @@
D01814E227FFDBB800583D4E /* HomeHeaderView.m in Sources */,
D0C50B3C27FD2EFD00DC68F0 /* PrivacyViewController.m in Sources */,
D0930F122801124E006B497A /* BaseNaviController.m in Sources */,
D0930F1A2801874B006B497A /* UIViewController+Swizzling.m in Sources */,
D01814E8280020F900583D4E /* CWPageControl.m in Sources */,
D027EE3027FB52DA004BBA61 /* UIImage+Extras.m in Sources */,
D04B3DC327F6F9390022F8DF /* HomeViewController.m in Sources */,
......
//
// NaviBarHandlerProtocol.h
// PDA
//
// Created by KiTee on 2018/9/10.
// Copyright © 2018年 Linno. All rights reserved.
//
/**
导航控制器风格
- NaviStyleDefault: 默认
- NaviStyleLight : Light
- NaviStyleDark : Dark
*/
typedef NS_ENUM(NSUInteger, NaviStyle) {
NaviStyleDefault,
NaviStyleLight,
NaviStyleDark,
};
#import <Foundation/Foundation.h>
/**
导航栏事件处理协议
*/
@protocol NaviBarHandlerProtocol <NSObject>
@optional
/**
是否显示导航栏
@return 默认显示,YES
*/
- (BOOL)isShowNavigationBar;
/**
页面侧滑状态
@return 默认为YES
*/
- (BOOL)enableInteractivePopGestureRecognizer;
/**
控制是否显示导航栏返回按钮文字
@return 默认不显示
*/
- (BOOL)isShowBackButtonTitle;
/**
控制是否显示导航栏返回Item
@return 默认显示,NO
*/
- (BOOL)isHideBackButton;
/**
用于拦截导航栏返回按钮点击事件
@return 默认不拦截
*/
- (BOOL)navigationShouldPopOnBackButton;
// 根据不同页面设置导航栏风格
- (NaviStyle)navigationBarStyle;
@end
//
// UINavigationController+Pop.h
// PDA
//
// Created by KiTee on 2018/9/10.
// Copyright © 2018年 Linno. All rights reserved.
//
#import <UIKit/UIKit.h>
/**
导航栏Pop分类
*/
@interface UINavigationController (Pop)
@end
//
// UINavigationController+Pop.m
// PDA
//
// Created by KiTee on 2018/9/10.
// Copyright © 2018年 Linno. All rights reserved.
//
#import "UINavigationController+Pop.h"
#import "UIViewController+Swizzling.h"
@implementation UINavigationController (Pop)
#pragma mark - UINavigationBarDelegate && 重写导航栏Pop事件
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item {
if ([self.viewControllers count] < [navigationBar.items count]) {
return YES;
}
BOOL shouldPop = YES;
UIViewController* vc = [self topViewController];
if ([vc respondsToSelector:@selector(navigationShouldPopOnBackButton)]) {
shouldPop = [vc navigationShouldPopOnBackButton];
}
if(shouldPop) {
dispatch_async(dispatch_get_main_queue(), ^{
[self popViewControllerAnimated:YES];
});
} else {
// 页面在返回时候navigationBar子视图会alpha会变小
for(UIView *subview in [navigationBar subviews]) {
if(0. < subview.alpha && subview.alpha < 1.) {
[UIView animateWithDuration:.25 animations:^{
subview.alpha = 1.;
}];
}
}
}
return NO;
}
@end
//
// UIViewController+Swizzling.h
// PDA
//
// Created by KiTee on 2018/9/7.
// Copyright © 2018年 Linno. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "NaviBarHandlerProtocol.h"
@interface UIViewController (Swizzling) <NaviBarHandlerProtocol>
@end
//
// UIViewController+Swizzling.m
// PDA
//
// Created by KiTee on 2018/9/7.
// Copyright © 2018年 Linno. All rights reserved.
//
#import "UIViewController+Swizzling.h"
#import "BaseNaviController.h"
#import <objc/runtime.h>
@implementation UIViewController (Swizzling)
+ (void)load
{
// 拦截viewWillAppear:事件
SEL origSel0 = @selector(viewWillAppear:);
SEL swizSel0 = @selector(swiz_viewWillAppear:);
[UIViewController swizzleMethods:[self class] originalSelector:origSel0 swizzledSelector:swizSel0];
// 拦截viewDidLoad事件
SEL origSel = @selector(viewDidLoad);
SEL swizSel = @selector(swiz_viewDidLoad:);
[UIViewController swizzleMethods:[self class] originalSelector:origSel swizzledSelector:swizSel];
// 拦截viewDidAppear:事件
SEL origSel2 = @selector(viewDidAppear:);
SEL swizSel2 = @selector(swiz_viewDidAppear:);
[UIViewController swizzleMethods:[self class] originalSelector:origSel2 swizzledSelector:swizSel2];
}
// exchange implementation of two methods
+ (void)swizzleMethods:(Class)class originalSelector:(SEL)origSel swizzledSelector:(SEL)swizSel
{
Method origMethod = class_getInstanceMethod(class, origSel);
Method swizMethod = class_getInstanceMethod(class, swizSel);
// class_addMethod will fail if original method already exists
BOOL didAddMethod = class_addMethod(class, origSel, method_getImplementation(swizMethod), method_getTypeEncoding(swizMethod));
if (didAddMethod) {
class_replaceMethod(class, swizSel, method_getImplementation(origMethod), method_getTypeEncoding(origMethod));
} else {
// origMethod and swizMethod already exist
method_exchangeImplementations(origMethod, swizMethod);
}
}
#pragma mark - 响应自定义viewWillAppear:事件
- (void)swiz_viewWillAppear:(BOOL)animated {
#pragma mark - 处理导航栏显示/隐藏
self.navigationController.navigationBarHidden = ([self respondsToSelector:@selector(isShowNavigationBar)] && [self isShowNavigationBar] == YES) ? YES : NO;
#pragma mark - 根据不同页面设置不同的导航栏风格
if ([self respondsToSelector:@selector(navigationBarStyle)]) {
[BaseNaviController setNavigationBarStyle:[self navigationBarStyle] vc:self];
} else {
// 默认风格
[BaseNaviController setNavigationBarStyle:NaviStyleDefault vc:self];
}
#pragma mark - 重返系统事件
[self swiz_viewWillAppear:animated];
}
#pragma mark - 响应自定义viewDidLoad事件
- (void)swiz_viewDidLoad:(BOOL)animated
{
#pragma mark - 处理返回按钮显示/隐藏
self.navigationItem.hidesBackButton = ([self respondsToSelector:@selector(isHideBackButton)] && [self isHideBackButton] == YES) ? YES : NO;
#pragma mark - 处理返回按钮标题显示/隐藏
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@""
style:UIBarButtonItemStylePlain
target:nil
action:nil];
#pragma mark - 重返系统事件
[self swiz_viewDidLoad:animated];
}
#pragma mark - 响应自定义viewDidAppear:事件
- (void)swiz_viewDidAppear:(BOOL)animated
{
#pragma mark - 处理侧滑
// 默认打开侧滑
BOOL enabled = YES;
if (self.navigationController.viewControllers.count == 1) {
// 只有一个控制器的时候禁止侧滑,防止页面卡死
enabled = NO;
} else {
if ([self respondsToSelector:@selector(enableInteractivePopGestureRecognizer)] && [self enableInteractivePopGestureRecognizer] == NO) {
enabled = NO;
}
}
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = enabled;
}
#pragma mark - 页面浏览统计
#pragma mark - 重返系统事件
[self swiz_viewDidAppear:animated];
}
@end
......@@ -19,6 +19,7 @@
@property (nonatomic, assign) NSInteger timeAccount;
@property (nonatomic, copy) NSString *rotateLottieFile;
@property (nonatomic, copy) NSString *zoomLottieFile;
@property (nonatomic, strong) UIButton *navRightBtn;
@end
@implementation BreatheController
......@@ -26,12 +27,40 @@
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = ColorFromHex(0x161E38);
self.view.backgroundColor = DarkColor;
self.dataArr = @[@"1",@"2",@"3",@"4",@"5"];
self.rotateLottieFile = self.style == LottieStyleBalance ? @"relax_normal_lottie.json" : @"478normal_lottie.json";
self.zoomLottieFile = self.style == LottieStyleBalance ? @"relax_lottie.json" : @"478_lottie.json";
[self initView];
[self setNaviRightBtn];
// // 设置导航栏返回按钮颜色
// self.navigationController.navigationBar.tintColor = DSWhite;
// // 设置导航栏背景色、title颜色、隐藏分割线
// NSDictionary *titleTextAttributes = @{NSForegroundColorAttributeName:DSWhite};
// if (@available(iOS 13.0, *)) {
// UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];
// appearance.titleTextAttributes = titleTextAttributes;
// appearance.backgroundColor = self.view.backgroundColor;
// appearance.shadowColor = [UIColor clearColor];
// self.navigationController.navigationBar.standardAppearance = appearance;
// self.navigationController.navigationBar.scrollEdgeAppearance = appearance;
// } else {
// self.navigationController.navigationBar.barTintColor = self.view.backgroundColor;
// [self.navigationController.navigationBar setTitleTextAttributes:titleTextAttributes];
// self.navigationController.navigationBar.shadowImage = [UIImage new];
// }
}
#pragma mark - 导航栏夜间模式
- (NaviStyle)navigationBarStyle {
return NaviStyleDark;
}
#pragma mark - 关闭侧滑
- (BOOL)enableInteractivePopGestureRecognizer {
return NO;
}
- (void)initView {
......@@ -70,7 +99,7 @@
make.top.equalTo(self.rotateView.mas_bottom).offset(30);
make.left.equalTo(self.timeLb.mas_right);
make.right.equalTo(self.minuteLb.mas_left);
make.height.equalTo(@65);
make.height.equalTo(@80);
}];
[self.timeLb mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.rotateView);
......@@ -88,6 +117,14 @@
}];
}
- (void)setNaviRightBtn {
self.navRightBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 44)];
[self.navRightBtn setImage:[UIImage imageNamed:@"openMusic"] forState:UIControlStateNormal];
[self.navRightBtn setImage:[UIImage imageNamed:@"closeMusic"] forState:UIControlStateSelected];
[self.navRightBtn addTarget:self action:@selector(rightBtnClick:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.navRightBtn];
}
- (void)startBtnClick:(UIButton *)sender {
sender.selected = !sender.selected;
self.rotateView.hidden = YES;
......@@ -102,6 +139,11 @@
// [self.streamer play];
}
- (void)rightBtnClick:(UIButton *)sender {
sender.selected = !sender.selected;
// self.streamer.volume = sender.selected ? 0 : 1;
}
#pragma mark - UIPickerViewDataSource && UIPickerViewDelegate
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView{
return 1;
......@@ -177,7 +219,7 @@
_starBtn.layer.masksToBounds = YES;
[_starBtn addTarget:self action:@selector(startBtnClick:) forControlEvents:UIControlEventTouchUpInside];
_starBtn.titleLabel.font = [UIFont systemFontOfSize:16];
_starBtn.backgroundColor = ColorFromHex(0x62C3D5);
_starBtn.backgroundColor = BrandColor;
[_starBtn setTitle:@"开始放松" forState:UIControlStateNormal];
}
return _starBtn;
......
......@@ -10,7 +10,7 @@
<!--首页-->
<scene sceneID="EkL-aL-SLU">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="sHr-aK-PhO" sceneMemberID="viewController">
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="sHr-aK-PhO" customClass="BaseNaviController" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" title="首页" image="home" selectedImage="home_selected" id="KEK-X3-RY8"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="rMp-Xs-yYU">
......
......@@ -45,29 +45,28 @@
// [self.tableView.mj_header endRefreshing];
// });
// }];
// 设置导航栏返回按钮文字
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@""
style:UIBarButtonItemStylePlain
target:self
action:nil];
// 设置导航栏返回按钮颜色
self.navigationController.navigationBar.tintColor = DSWhite;
// 设置导航栏背景色、title颜色、隐藏分割线
NSDictionary *titleTextAttributes = @{NSForegroundColorAttributeName:ColorFromHex(0x333333)};
if (@available(iOS 13.0, *)) {
UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];
appearance.titleTextAttributes = titleTextAttributes;
appearance.backgroundColor = DSWhite;
appearance.shadowColor = [UIColor clearColor];
self.navigationController.navigationBar.standardAppearance = appearance;
self.navigationController.navigationBar.scrollEdgeAppearance = appearance;
} else {
self.navigationController.navigationBar.dk_barTintColorPicker = DKColorPickerWithKey(NaviBG);
[self.navigationController.navigationBar setTitleTextAttributes:titleTextAttributes];
self.navigationController.navigationBar.shadowImage = [UIImage new];
}
// // 设置导航栏返回按钮颜色
// self.navigationController.navigationBar.tintColor = DSWhite;
// // 设置导航栏背景色、title颜色、隐藏分割线
// NSDictionary *titleTextAttributes = @{NSForegroundColorAttributeName:ColorFromHex(0x333333)};
// if (@available(iOS 13.0, *)) {
// UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];
// appearance.titleTextAttributes = titleTextAttributes;
// appearance.backgroundColor = DSWhite;
// appearance.shadowColor = [UIColor clearColor];
// self.navigationController.navigationBar.standardAppearance = appearance;
// self.navigationController.navigationBar.scrollEdgeAppearance = appearance;
// } else {
// self.navigationController.navigationBar.dk_barTintColorPicker = DKColorPickerWithKey(NaviBG);
// [self.navigationController.navigationBar setTitleTextAttributes:titleTextAttributes];
// self.navigationController.navigationBar.shadowImage = [UIImage new];
// }
}
#pragma mark - 导航栏日间模式
- (NaviStyle)navigationBarStyle {
return NaviStyleLight;
}
- (HomeTableView *)homeTV {
......
......@@ -11,6 +11,9 @@ NS_ASSUME_NONNULL_BEGIN
@interface BaseNaviController : UINavigationController
// 设置导航栏风格
+ (void)setNavigationBarStyle:(NaviStyle)style vc:(UIViewController *)vc;
@end
NS_ASSUME_NONNULL_END
......@@ -15,8 +15,67 @@
- (void)viewDidLoad {
[super viewDidLoad];
// // 设置导航栏返回按钮文字
// self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
// initWithTitle:@""
// style:UIBarButtonItemStylePlain
// target:self
// action:nil];
// // 设置导航栏返回按钮颜色
// self.navigationController.navigationBar.tintColor = DSWhite;
// // 设置导航栏背景色、title颜色、隐藏分割线
// NSDictionary *titleTextAttributes = @{NSForegroundColorAttributeName:ColorFromHex(0x333333)};
// if (@available(iOS 13.0, *)) {
// UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];
// appearance.titleTextAttributes = titleTextAttributes;
// appearance.backgroundColor = DSWhite;
// appearance.shadowColor = [UIColor clearColor];
// self.navigationController.navigationBar.standardAppearance = appearance;
// self.navigationController.navigationBar.scrollEdgeAppearance = appearance;
// } else {
// self.navigationController.navigationBar.dk_barTintColorPicker = DKColorPickerWithKey(NaviBG);
// [self.navigationController.navigationBar setTitleTextAttributes:titleTextAttributes];
// self.navigationController.navigationBar.shadowImage = [UIImage new];
// }
// 设置导航栏返回按钮文字
// self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
// initWithTitle:@""
// style:UIBarButtonItemStylePlain
// target:self
// action:nil];
}
+ (void)setNavigationBarStyle:(NaviStyle)style vc:(UIViewController *)vc {
UINavigationBar *naviBar = vc.navigationController.navigationBar;
UIColor *titleColor = ColorFromHex(0x333333);
UIColor *bgColor = DSWhite;
UIColor *barTintColor = DSWhite;
if (style == NaviStyleLight) {
} else if (style == NaviStyleDark) {
titleColor = DSWhite;
bgColor = DarkColor;
barTintColor = DarkColor;
}
// 设置导航栏返回按钮颜色
naviBar.tintColor = DSWhite;
// 设置导航栏背景色、title颜色、隐藏分割线
NSDictionary *titleTextAttributes = @{NSForegroundColorAttributeName:titleColor};
if (@available(iOS 13.0, *)) {
UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];
appearance.titleTextAttributes = titleTextAttributes;
appearance.backgroundColor = bgColor;
appearance.shadowColor = [UIColor clearColor];
naviBar.standardAppearance = appearance;
naviBar.scrollEdgeAppearance = appearance;
} else {
naviBar.barTintColor = barTintColor;
[naviBar setTitleTextAttributes:titleTextAttributes];
naviBar.shadowImage = [UIImage new];
}
}
@end
{
"images" : [
{
"filename" : "closeMusic.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "closeMusic@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "openMusic.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "openMusic@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "openMusic@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
......@@ -54,6 +54,10 @@
#define MainTextColor ColorFromHex(0x333333)
/** 品牌色 */
#define BrandColor ColorFromHex(0x62C3D5)
/** 背景色深色 */
#define DarkColor ColorFromHex(0x161E38)
/** 背景色 */
#define BGColor ColorFromHex(0xF5F7FA)
/** 副文案颜色 */
#define SubTextColor [UIColor colorWithHexString:@"#A0A0A0"]
......
......@@ -20,4 +20,6 @@
#import "UIView+Extras.h"
#import "NaviBarHandlerProtocol.h"
#endif /* PrefixHeader_pch */
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!