Explorar el Código

1.tabbar代码封装

huangxiaodong hace 1 año
padre
commit
bfeb4786c4

+ 20 - 0
创维盒子/双子星云手机.xcodeproj/project.pbxproj

@@ -516,6 +516,10 @@
 		6B5D40402B4CE40F000965CF /* downloadManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5D403E2B4CE40F000965CF /* downloadManager.m */; };
 		6B5D40432B4CF04C000965CF /* PlayerViewController+downloadFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5D40412B4CF04C000965CF /* PlayerViewController+downloadFile.h */; };
 		6B5D40442B4CF04C000965CF /* PlayerViewController+downloadFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5D40422B4CF04C000965CF /* PlayerViewController+downloadFile.m */; };
+		6B5D86662C227C71008D25EA /* NASViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5D86652C227C71008D25EA /* NASViewController.m */; };
+		6B5D86672C227C71008D25EA /* NASViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5D86642C227C71008D25EA /* NASViewController.h */; };
+		6B5D86682C227C71008D25EA /* NASViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5D86642C227C71008D25EA /* NASViewController.h */; };
+		6B5D86692C227C71008D25EA /* NASViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B5D86652C227C71008D25EA /* NASViewController.m */; };
 		6B63179C2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B63179B2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.m */; };
 		6B63179D2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B63179A2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.h */; };
 		6B63179E2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B63179A2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.h */; };
@@ -1580,6 +1584,8 @@
 		6B5D403E2B4CE40F000965CF /* downloadManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = downloadManager.m; sourceTree = "<group>"; };
 		6B5D40412B4CF04C000965CF /* PlayerViewController+downloadFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PlayerViewController+downloadFile.h"; sourceTree = "<group>"; };
 		6B5D40422B4CF04C000965CF /* PlayerViewController+downloadFile.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PlayerViewController+downloadFile.m"; sourceTree = "<group>"; };
+		6B5D86642C227C71008D25EA /* NASViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NASViewController.h; sourceTree = "<group>"; };
+		6B5D86652C227C71008D25EA /* NASViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NASViewController.m; sourceTree = "<group>"; };
 		6B63179A2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = videoPlayByAVPlayerViewController.h; sourceTree = "<group>"; };
 		6B63179B2BFD8CA000FF4FB4 /* videoPlayByAVPlayerViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = videoPlayByAVPlayerViewController.m; sourceTree = "<group>"; };
 		6B6317A02BFD9DB500FF4FB4 /* ZFCustomControlView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZFCustomControlView.h; sourceTree = "<group>"; };
@@ -2757,6 +2763,15 @@
 			path = view;
 			sourceTree = "<group>";
 		};
+		6B5D86632C227C4A008D25EA /* NAS */ = {
+			isa = PBXGroup;
+			children = (
+				6B5D86642C227C71008D25EA /* NASViewController.h */,
+				6B5D86652C227C71008D25EA /* NASViewController.m */,
+			);
+			path = NAS;
+			sourceTree = "<group>";
+		};
 		6B6ABED72BFF3A6600480BAC /* receiveView */ = {
 			isa = PBXGroup;
 			children = (
@@ -3183,6 +3198,7 @@
 		A02FF69827D7054200D59D3F /* 双子星云手机 */ = {
 			isa = PBXGroup;
 			children = (
+				6B5D86632C227C4A008D25EA /* NAS */,
 				6BF0F3CD2AD391BE000AA133 /* connectDeviceManager */,
 				6B3F96312AD2A0FA008E349E /* netWork */,
 				183AE6812A8C9ACA00B11CB0 /* CloudPlayer */,
@@ -3465,6 +3481,7 @@
 				6B1F7FDC2C00ABAB00954720 /* downStatusModel.h in Headers */,
 				6B6317A22BFD9DB500FF4FB4 /* ZFCustomControlView.h in Headers */,
 				18F9CB072ABD7835003FF71A /* QRCodeScanForChangeDeviceViewController.h in Headers */,
+				6B5D86672C227C71008D25EA /* NASViewController.h in Headers */,
 				6B45C5042B5F9CEC007E6911 /* diskListTableView.h in Headers */,
 				6B5BE57B2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */,
 				6B7EA79E2BF5E0ED002D5CC2 /* NASMsgModel.h in Headers */,
@@ -3685,6 +3702,7 @@
 				6B1F7FDE2C00ABAB00954720 /* downStatusModel.h in Headers */,
 				6B6317A32BFD9DB500FF4FB4 /* ZFCustomControlView.h in Headers */,
 				6BD507052B9576A4006E7CB0 /* QRCodeScanForChangeDeviceViewController.h in Headers */,
+				6B5D86682C227C71008D25EA /* NASViewController.h in Headers */,
 				6BD507062B9576A4006E7CB0 /* diskListTableView.h in Headers */,
 				6B5BE57D2BFC767100A1B9B3 /* previewFileAndFolderViewController.h in Headers */,
 				6B7EA7A02BF5E0ED002D5CC2 /* NASMsgModel.h in Headers */,
@@ -4166,6 +4184,7 @@
 				6B7EA7BF2BF759AC002D5CC2 /* shareSecretTableViewCell.m in Sources */,
 				6BD507462B9576A4006E7CB0 /* AFSecurityPolicy.m in Sources */,
 				6B9714422BCD00CA00CE0096 /* ComontAlretType2ViewController.m in Sources */,
+				6B5D86692C227C71008D25EA /* NASViewController.m in Sources */,
 				6BD507472B9576A4006E7CB0 /* USBInsertPopView.m in Sources */,
 				6BD507482B9576A4006E7CB0 /* SetUsePWDViewController.m in Sources */,
 				6BD507492B9576A4006E7CB0 /* cloudPhoneCommonModel.m in Sources */,
@@ -4468,6 +4487,7 @@
 				6B7EA7BD2BF759AC002D5CC2 /* shareSecretTableViewCell.m in Sources */,
 				183AE6592A8A2CF000B11CB0 /* AFSecurityPolicy.m in Sources */,
 				6B97143F2BCD00CA00CE0096 /* ComontAlretType2ViewController.m in Sources */,
+				6B5D86662C227C71008D25EA /* NASViewController.m in Sources */,
 				6B1CC2CB2B67A5FC00AD4217 /* USBInsertPopView.m in Sources */,
 				18E557262A3C6088005CC84B /* SetUsePWDViewController.m in Sources */,
 				6B3A4B162B6F69A500F74679 /* cloudPhoneCommonModel.m in Sources */,

+ 24 - 34
创维盒子/双子星云手机/AppDelegate/SceneDelegate.m

@@ -34,6 +34,7 @@
 #import "queryOneShareModel.h"
 #import "boxSaveFileManager.h"
 #import "boxDownloadFileManager.h"
+#import "NASViewController.h"
 
 @interface SceneDelegate ()<SetUsePWDViewControllerDelegate,GuideViewControllerDelegate>
 @property(nonatomic, strong)   CalculatorViewController *calculatorVC;
@@ -361,49 +362,39 @@
 //    [self getNASMsgFun];
 }
 
-#pragma mark 1.4.1 tabbar
+#pragma mark 1.4.1 新增tabbar
 - (void)initMainTabbarFun
 {
     UITabBarController *tabBarController = [[UITabBarController alloc] init];
     
-    UIViewController *viewController1 = [[UIViewController alloc] init];
-    viewController1.title = @"First";
-    // ... 配置 viewController1 的其他属性 ...
-    // 设置标题
-    viewController1.tabBarItem.title = @"NAS";
-    // 设置选中状态的图片
-    viewController1.tabBarItem.selectedImage = [[UIImage imageNamed:@"tabbar_nas_H"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
-    // 设置未选中状态的图片
-    viewController1.tabBarItem.image = [[UIImage imageNamed:@"tabbar_nas_N"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
- 
+    UIViewController *NASVC = [[NASViewController alloc] init];
+    BaseNavigationController *NasNav = [[BaseNavigationController alloc] initWithRootViewController:NASVC];
     
     UIViewController *viewController2 = [[UIViewController alloc] init];
-    viewController2.title = @"Second";
-    // ... 配置 viewController2 的其他属性 ...
-    // 设置标题
-    viewController2.tabBarItem.title = @"云手机";
-    // 设置选中状态的图片
-    viewController2.tabBarItem.selectedImage = [[UIImage imageNamed:@"tabbar_phone_H"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
-    // 设置未选中状态的图片
-    viewController2.tabBarItem.image = [[UIImage imageNamed:@"tabbar_phone_N"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
-    
+
     
     UIViewController *viewController3 = [[UIViewController alloc] init];
-    viewController3.title = @"thrid";
-    // 设置标题
-    viewController3.tabBarItem.title = @"我的";
-    // 设置选中状态的图片
-    viewController3.tabBarItem.selectedImage = [[UIImage imageNamed:@"tabbar_my_H"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
-    // 设置未选中状态的图片
-    viewController3.tabBarItem.image = [[UIImage imageNamed:@"tabbar_my_N"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
-    
-    NSArray *viewControllers = @[viewController1, viewController2,viewController3]; // 添加更多视图控制器
+
+    NSArray *viewControllers = @[NasNav, viewController2,viewController3]; // 添加更多视图控制器
     tabBarController.viewControllers = viewControllers;
     
-//    for (int i=0; i<viewControllers.count; i++) {
-//        UITabBarItem * tabBarItem = [UITabBarItem new];
-//        tabBarItem setim
-//    }
+
+    NSString*phoneTitle = NSLocalizedString(@"tabbar_cloud_phone",nil);
+    NSString*myTitle = NSLocalizedString(@"tabbar_my_title",nil);
+    
+    NSArray *titleArr = @[@"NAS",phoneTitle,myTitle];
+    NSArray *imageNArr = @[@"tabbar_nas_N", @"tabbar_phone_N",@"tabbar_my_N"];
+    NSArray *imageHArr = @[@"tabbar_phone_H", @"tabbar_phone_H",@"tabbar_my_H"];
+    
+    for (int i=0; i<viewControllers.count; i++) {
+        UITabBarItem * tabBarItem = [UITabBarItem new];
+        tabBarItem.title = titleArr[i];
+        tabBarItem.selectedImage = [[UIImage imageNamed:imageHArr[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
+        tabBarItem.image = [[UIImage imageNamed:imageNArr[i]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
+        
+        UIViewController *curVC = viewControllers[i];
+        curVC.tabBarItem = tabBarItem;
+    }
     
 //    tabBarController.tabBar.barTintColor = [UIColor hwColor:@"#F6F8FA"]; // 设置标签栏背景色
 //    tabBarController.tabBar.tintColor = [UIColor hwColor:@"#01B7EA"]; // 设置选中标签项的颜色
@@ -413,7 +404,6 @@
 
     [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor hwColor:@"#01B7EA"],NSForegroundColorAttributeName, [UIFont systemFontOfSize:12.0],NSFontAttributeName,nil] forState:UIControlStateSelected];
     
-    // ... 设置其他属性 ...
     
     self.window.rootViewController = tabBarController;
     [self.window makeKeyAndVisible];

+ 16 - 0
创维盒子/双子星云手机/NAS/NASViewController.h

@@ -0,0 +1,16 @@
+//
+//  NASViewController.h
+//  双子星云手机
+//
+//  Created by xd h on 2024/6/19.
+//
+
+#import "BaseViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NASViewController : BaseViewController
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 29 - 0
创维盒子/双子星云手机/NAS/NASViewController.m

@@ -0,0 +1,29 @@
+//
+//  NASViewController.m
+//  双子星云手机
+//
+//  Created by xd h on 2024/6/19.
+//
+
+#import "NASViewController.h"
+
+@interface NASViewController ()
+
+@end
+
+@implementation NASViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    
+    [self.view setBackgroundColor:HWF5F7FAColor];
+    
+    [self.toolBar setHidden:YES];
+    [self.navigationBar setHidden:YES];
+    [self.navBarBGView setHidden:NO];
+}
+
+
+
+@end

+ 5 - 0
创维盒子/双子星云手机/zh-Hans.lproj/Localizable.strings

@@ -527,3 +527,8 @@
 "share_no_qq"   = "未安装QQ,请先安装QQ";
 "share_no_wx"   = "未安装微信,请先安装微信";
 "share_file_tip_msg"   = "温馨提示:分享的文件会存在部分格式不支持在线预览";
+
+
+//1.4.1
+"tabbar_cloud_phone"   = "云手机";
+"tabbar_my_title"   = "我的";