zwp 7 kuukautta sitten
vanhempi
sitoutus
60ad1b6bd5

+ 5 - 27
BuguLive/Class/AppOhters/AppBar/BGTabBarController.m

@@ -73,7 +73,7 @@
 #import "AudioChatTool.h"
 #import "CustomTabbarView.h"
 
-@interface BGTabBarController ()<UITabBarControllerDelegate,UIActionSheetDelegate,BogoHomeTopViewDelegate>
+@interface BGTabBarController ()<UITabBarControllerDelegate,UIActionSheetDelegate,BogoHomeTopViewDelegate, CustomTabbarViewDelegate>
 @property (nonatomic, strong) CustomTabbarView *customTabBar;
 
 @property (nonatomic, strong) HMCenterPopView *popView;
@@ -407,6 +407,7 @@ BogoSingletonM(Instance);
 }
 
 - (void)setupCustomTabBar {
+    self.tabBar.hidden = YES;
     // 创建自定义TabBar,高度为80
     CGFloat tabBarHeight = 80;
     CGFloat safeAreaBottom = 0;
@@ -456,32 +457,7 @@ BogoSingletonM(Instance);
 
 - (void)customTabbarView:(CustomTabbarView *)tabbarView didSelectItemAtIndex:(NSInteger)index {
     NSLog(@"选中了第%ld个TabBar项", (long)index);
-    
-    // 这里可以添加切换视图控制器的逻辑
-    switch (index) {
-        case 0:
-            NSLog(@"切换到首页");
-            // 例如:[self showHomeViewController];
-            break;
-        case 1:
-            NSLog(@"切换到派对");
-            // 例如:[self showPartyViewController];
-            break;
-        case 2:
-            NSLog(@"切换到动态");
-            // 例如:[self showMomentViewController];
-            break;
-        case 3:
-            NSLog(@"切换到消息");
-            // 例如:[self showMessageViewController];
-            break;
-        case 4:
-            NSLog(@"切换到我的");
-            // 例如:[self showMineViewController];
-            break;
-        default:
-            break;
-    }
+    self.selectedIndex = index;
 }
 
 //-(void)showNesBarRedNum{
@@ -591,6 +567,8 @@ BogoSingletonM(Instance);
     // 导航条
     BGNavigationController *nav = [[BGNavigationController alloc] initWithRootViewController:childController];
     [self addChildViewController:nav];
+    
+    nav.view.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-80-SafeAreaBottomHeight);
     return childController;
 }
 

+ 42 - 37
BuguLive/Class/AppOhters/AppBar/CustomTabbarView.m

@@ -26,25 +26,13 @@
 - (void)setupView {
     self.backgroundColor = [UIColor whiteColor];
     
-    // 添加顶部分割线
-    UIView *topLine = [[UIView alloc] init];
-    topLine.backgroundColor = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0];
-    [self addSubview:topLine];
-    topLine.translatesAutoresizingMaskIntoConstraints = NO;
-    [NSLayoutConstraint activateConstraints:@[
-        [topLine.topAnchor constraintEqualToAnchor:self.topAnchor],
-        [topLine.leadingAnchor constraintEqualToAnchor:self.leadingAnchor],
-        [topLine.trailingAnchor constraintEqualToAnchor:self.trailingAnchor],
-        [topLine.heightAnchor constraintEqualToConstant:0.5]
-    ]];
-    
     [self addSubview:self.stackView];
     self.stackView.translatesAutoresizingMaskIntoConstraints = NO;
     [NSLayoutConstraint activateConstraints:@[
-        [self.stackView.topAnchor constraintEqualToAnchor:self.topAnchor constant:8],
+        [self.stackView.topAnchor constraintEqualToAnchor:self.topAnchor constant:0],
         [self.stackView.leadingAnchor constraintEqualToAnchor:self.leadingAnchor],
         [self.stackView.trailingAnchor constraintEqualToAnchor:self.trailingAnchor],
-        [self.stackView.bottomAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.bottomAnchor constant:-8]
+        [self.stackView.bottomAnchor constraintEqualToAnchor:self.bottomAnchor constant:0]
     ]];
 }
 
@@ -70,8 +58,10 @@
                    normalImage:(NSString *)normalImage 
                  selectedImage:(NSString *)selectedImage {
     
-    QMUIButton *button = [QMUIButton buttonWithType:UIButtonTypeCustom];
-    button.imagePosition = QMUIButtonImagePositionTop;
+    UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH/4, self.height)];
+    container.translatesAutoresizingMaskIntoConstraints = NO;
+    
+    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
     button.tag = self.tabBarButtons.count;
     
     // 设置图片
@@ -85,27 +75,50 @@
         [button setImage:selectedImg forState:UIControlStateSelected];
     }
     
-    // 设置标题
-    [button setTitle:title forState:UIControlStateNormal];
-    [button setTitleColor:[UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:1.0] forState:UIControlStateNormal];
-    [button setTitleColor:[UIColor colorWithRed:75.0/255.0 green:200.0/255.0 blue:252.0/255.0 alpha:1.0] forState:UIControlStateSelected];
-    
-    button.titleLabel.font = [UIFont systemFontOfSize:10];
-    
     // 添加点击事件
     [button addTarget:self action:@selector(tabBarButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
     
+    UIButton *titleButton = [UIButton buttonWithType:UIButtonTypeCustom];
+    titleButton.titleLabel.font = [UIFont systemFontOfSize:10];
+    // 设置标题
+    [titleButton setTitle:title forState:UIControlStateNormal];
+    [titleButton setTitleColor:[UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:1.0] forState:UIControlStateNormal];
+    [titleButton setTitleColor:[UIColor colorWithRed:75.0/255.0 green:200.0/255.0 blue:252.0/255.0 alpha:1.0] forState:UIControlStateSelected];
+    
+    [container addSubview:button];
+    [container addSubview:titleButton];
+    
     // 添加到数组和stackView
     [self.tabBarButtons addObject:button];
-    [self.stackView addArrangedSubview:button];
+    [self.stackView addArrangedSubview:container];
+    
+    [container.widthAnchor constraintEqualToConstant:container.size.width].active = YES;
+    [container.heightAnchor constraintEqualToConstant:container.size.height].active = YES;
+    
+    
+    BOOL isFirst = self.tabBarButtons.count == 1;
+    
+    [button mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.size.mas_equalTo(28);
+        make.top.mas_offset(isFirst ? 10 : 16);
+        make.centerX.mas_offset(0);
+    }];
+    
+    [titleButton mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.equalTo(button.mas_bottom).mas_offset(6);
+        make.centerX.mas_offset(0);
+    }];
     
     // 如果是第一个按钮,设置为选中状态
-    if (self.tabBarButtons.count == 1) {
+    if (isFirst) {
         [self setSelectedIndex:0 animated:NO];
     }
 }
 
 - (void)tabBarButtonClicked:(UIButton *)sender {
+    if (sender.isSelected) {
+        return;
+    }
     NSInteger index = sender.tag;
     [self setSelectedIndex:index animated:YES];
     
@@ -129,18 +142,10 @@
     for (NSInteger i = 0; i < self.tabBarButtons.count; i++) {
         UIButton *button = self.tabBarButtons[i];
         button.selected = (i == selectedIndex);
-        
-        if (animated) {
-            [UIView animateWithDuration:0.2 animations:^{
-                button.transform = (i == selectedIndex) ? CGAffineTransformMakeScale(1.1, 1.1) : CGAffineTransformIdentity;
-            } completion:^(BOOL finished) {
-                if (i == selectedIndex) {
-                    [UIView animateWithDuration:0.1 animations:^{
-                        button.transform = CGAffineTransformIdentity;
-                    }];
-                }
-            }];
-        }
+        [button mas_updateConstraints:^(MASConstraintMaker *make) {
+            make.size.mas_equalTo(button.isSelected ? 60 : 28);
+            make.top.mas_offset(button.isSelected ? 10 : 16);
+        }];
     }
 }
 

+ 8 - 8
BuguLive/Class/AppOhters/AppDelegate.m

@@ -214,15 +214,15 @@ static SystemSoundID shake_sound_male_id = 0;
 //    [TXUGCBase setLicenceURL:@"http://license.vod2.myqcloud.com/license/v1/9d11149e7ab9409d37960b76d72513d3/TXUgcSDK.licence" key:@"c42c151886efa4877920bcf60d364ad0"];
     
     // 用来延时遮盖,等异步请求初始化接口成功后替换掉
-//    UIViewController *tmpController = [[UIViewController alloc]init];
-//    UIImageView *tmpImgView = [[UIImageView alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
-//    tmpImgView.contentMode = UIViewContentModeScaleAspectFill;
-//    tmpImgView.clipsToBounds = YES;
-//    [tmpImgView setImage:[UIImage imageNamed:@"wel"]];
-//    [tmpController.view addSubview:tmpImgView];
+    UIViewController *tmpController = [[UIViewController alloc]init];
+    UIImageView *tmpImgView = [[UIImageView alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
+    tmpImgView.contentMode = UIViewContentModeScaleAspectFill;
+    tmpImgView.clipsToBounds = YES;
+    [tmpImgView setImage:[UIImage imageNamed:@"wel"]];
+    [tmpController.view addSubview:tmpImgView];
 
     self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
-    self.window.rootViewController = [BGTabBarController sharedInstance];
+    self.window.rootViewController = tmpController;
     [self.window makeKeyAndVisible];
     
     _isFirstLoad = YES;
@@ -235,7 +235,7 @@ static SystemSoundID shake_sound_male_id = 0;
     // 异步加载初始化接口
     _isFirstLoadInit = YES;
     self.launchOptions = launchOptions;
-//    [self asyncInit];
+    [self asyncInit];
     
     // 网络监听
     [self performSelector:@selector(startMonitor) withObject:nil afterDelay:3];