zoukankan      html  css  js  c++  java
  • WMPageController设置menuView的左右视图

    效果图如下:

    绿色的是自定义的emenuView的rightView哟!!!

    代码实现如下:

    //
    //  CategoryVC.m
    //  JSHui
    //
    //  Created by Apple on 16/9/16.
    //  Copyright © 2016年 桑孔桥. All rights reserved.
    //
    
    #import "CategoryVC.h"
    #import "OneVC.h"
    #import "TwoVC.h"
    #import "ThreeVC.h"
    #import "FourVC.h"
    #import "FIveVC.h"
    #import "SixVC.h"
    #import "SevenVC.h"
    #import "EightVC.h"
    #import "LNSliderView.h"
    #import "CategoryModel.h"
    #import <MJExtension.h>
    #import "CoverView.h"
    #import "WMMenuView.h"
    
    @interface CategoryVC ()<UIScrollViewDelegate,LNSliderViewDelegate,CoverViewDelegate>
    {
        NSInteger i;
    }
    @property (strong, nonatomic) LNSliderView *sliderView;
    //数据源
    @property (strong, nonatomic) NSMutableArray *dataArr;
    //子控制器
    @property (strong, nonatomic) NSMutableArray *subsArr;
    @property(nonatomic,strong)UIScrollView *contentScv;
    @end
    
    @implementation CategoryVC
    
    -(NSMutableArray *)dataArr
    {
        if (_dataArr == nil) {
            _dataArr = [NSMutableArray array];
        }
        return _dataArr;
    }
    
    -(NSMutableArray *)subsArr
    {
        if (_subsArr == nil) {
            _subsArr =[NSMutableArray array];
        }
        return _subsArr;
    }
    -(void)back
    {
        
    }
    
    -(void)tag
    {
        XMGLogFunc
        
    }
    
    -(void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:YES];
        self.title = @"类别";
        self.navigationController.navigationBar.barTintColor = HexRGB(0x55b2ff);
        [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
        self.view.backgroundColor = [UIColor whiteColor];
    }
    
    - (void)viewDidLoad{
        
        [super viewDidLoad];
        self.automaticallyAdjustsScrollViewInsets = NO;
        self.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithTitle:@"123" target:self action:@selector(tag)];
        [self getData];
        self.menuBGColor = [UIColor whiteColor];
        self.menuView.backgroundColor = [UIColor whiteColor];
        self.menuViewStyle = WMMenuViewStyleLine;
        self.menuView.width = SCREEN_WIDTH - 60;
        self.progressColor = [UIColor redColor];
        self.titleColorNormal = [UIColor blackColor];
        self.titleColorSelected = [UIColor blackColor];
        self.titleSizeNormal = 14;
        self.titleSizeSelected = 14;
    }
    
    - (NSArray *)titles {
        return @[@"丸子类",@"水产类",@"猪肉类",@"素食类",@"小吃类",@"牛羊类",@"牛羊类",@"其他类"];
    }
    
    #pragma mark - WMPageControllerDataSource
    
    - (NSInteger)numbersOfChildControllersInPageController:(WMPageController *)pageController {
    
        return self.titles.count;
    }
    
    - (UIViewController *)pageController:(WMPageController *)pageController viewControllerAtIndex:(NSInteger)index {
        switch (index) {
            case 0: {
                OneVC *allVC0 = [[OneVC alloc] init];
                return allVC0;
            }
            case 1: {
                TwoVC *allVC1 = [[TwoVC alloc] init];
                return allVC1;
            }
            case 2: {
                ThreeVC *allVC2 = [[ThreeVC alloc] init];
                return allVC2;
            }
            case 3: {
                FourVC *allVC3 = [[FourVC alloc] init];
                return allVC3;
            }
            case 4: {
                FIveVC *allVC4 = [[FIveVC alloc] init];
                return allVC4;
            }
            case 5: {
                SixVC *allVC5 = [[SixVC alloc] init];
                return allVC5;
            }
            case 6: {
                SevenVC *allVC6 = [[SevenVC alloc] init];
                return allVC6;
            }
    
                break;
            default: {
                OneVC *allVC7 = [[OneVC alloc] init];
                return allVC7;
            }
                break;
        }
    }
    
    - (NSString *)pageController:(WMPageController *)pageController titleAtIndex:(NSInteger)index {
    
        return self.titles[index];
    }
    
    - (void)pageController:(WMPageController *)pageController lazyLoadViewController:(__kindof UIViewController *)viewController withInfo:(NSDictionary *)info {
        NSLog(@"%@", info);
    }
    
    - (void)pageController:(WMPageController *)pageController willEnterViewController:(__kindof UIViewController *)viewController withInfo:(NSDictionary *)info {
    }
    
    // 请求网络数据
    
    -(void)getData
    {
        [[NetworkSingle sharemanger]getGoodsTypeDic:nil url:@"Goods/goodstype" SuccessBlock:^(id responseBody) {
            NSData *data =  [NSJSONSerialization dataWithJSONObject:responseBody options:NSJSONWritingPrettyPrinted error:nil];
            NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
            NSLog(@"_______%@",str);
            self.dataArr = [CategoryModel mj_objectArrayWithKeyValuesArray:responseBody[@"data"]];
          
            [self dealTitles];
    
        } fail:^(NSString *error) {
        }];
    }
    
    // 请求数据更新menuView标题
    
    - (void)dealTitles{
        
        for (NSInteger index = 0; index< self.dataArr.count; index++) {
            CategoryModel *model = self.dataArr[index];
            
            // 注意: 设置rightView或者是leftView要在viewDidLoad和刷新menuView之前即可.其他设置无效
            UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
            btn.backgroundColor = [UIColor greenColor];
            btn.frame = CGRectMake(0,0, self.menuView.height, self.menuView.height);
            self.menuView.rightView = btn;
    
            [self updateTitle:model.t_type_name atIndex:index];
        }
    }
    
    
    @end

    代码注释很详细了哟!!

    注意: 如果你是在init里实现menuView,这是不能设置menuView的leftView或者是rightView的,一定要在viewDidLoad或者是reloadData里实现自定义即可!!

  • 相关阅读:
    Java运行 Unsupported major.minor version 51.0 错误
    Spark 概述
    spring入门-整合junit和web
    通过IE私有滤镜让IE6 7 8支持背景透明,内容不透明效果。
    目标计划及执行情况
    Bugku的一道注入
    在这个年纪,打DOTA冲分有那么可笑么?
    吴裕雄--天生自然HTML学习笔记:HTML 表格
    吴裕雄--天生自然HTML学习笔记:HTML 图像
    吴裕雄--天生自然HTML学习笔记:HTML 样式- CSS
  • 原文地址:https://www.cnblogs.com/pengsi/p/5912314.html
Copyright © 2011-2022 走看看