效果图如下:

绿色的是自定义的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:@"" target:self action:@selector(tag)];
[self getData];
self.menuBGColor = [UIColor whiteColor];
self.menuView.backgroundColor = [UIColor whiteColor];
self.menuViewStyle = WMMenuViewStyleLine;
self.menuView.width = SCREEN_WIDTH - ;
self.progressColor = [UIColor redColor];
self.titleColorNormal = [UIColor blackColor];
self.titleColorSelected = [UIColor blackColor];
self.titleSizeNormal = ;
self.titleSizeSelected = ;
} - (NSArray *)titles {
return @[@"丸子类",@"水产类",@"猪肉类",@"素食类",@"小吃类",@"牛羊类",@"牛羊类",@"其他类"];
} #pragma mark - WMPageControllerDataSource - (NSInteger)numbersOfChildControllersInPageController:(WMPageController *)pageController { return self.titles.count;
} - (UIViewController *)pageController:(WMPageController *)pageController viewControllerAtIndex:(NSInteger)index {
switch (index) {
case : {
OneVC *allVC0 = [[OneVC alloc] init];
return allVC0;
}
case : {
TwoVC *allVC1 = [[TwoVC alloc] init];
return allVC1;
}
case : {
ThreeVC *allVC2 = [[ThreeVC alloc] init];
return allVC2;
}
case : {
FourVC *allVC3 = [[FourVC alloc] init];
return allVC3;
}
case : {
FIveVC *allVC4 = [[FIveVC alloc] init];
return allVC4;
}
case : {
SixVC *allVC5 = [[SixVC alloc] init];
return allVC5;
}
case : {
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 = ; 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(,, 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里实现自定义即可!!

WMPageController设置menuView的左右视图的更多相关文章

  1. Vue.set 向响应式对象中添加响应式属性,及设置数组元素触发视图更新

    一.为什么需要使用Vue.set? vue中不能检测到数组和对象的两种变化: 1.数组长度的变化 vm.arr.length = 4 2.数组通过索引值修改内容 vm.arr[1] = ‘aa’ Vu ...

  2. iOS 之 设置控件在视图中心位置

    _qrImgView.bounds = CGRectMake(0, 0, sizeImg, sizeImg); _qrImgView.center = CGPointMake(CGRectGetWid ...

  3. SB中使用Autolayout设置到父视图的间距为0

    发现打上钩的话在plus以下的屏幕上控件的实际x会是-4但是在plus上是0, 所以要设置一致的到视图的左右都未0 必须把Constrain to margins钩去掉!

  4. IE兼容性视图设置

    问题: 页面 http://course.upol.cn/lx/jzjjygl/index.html 的课程学习中课程打不开 看了代码是有浏览器版本要求,IE9以上无法访问 解决办法: 1. 在IE设 ...

  5. EBS OAF开发中实体对象和视图对象的属性设置器

    EBS OAF开发中实体对象和视图对象的属性设置器 (版权声明.本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 源文: Home > Oracle ...

  6. Asp.net 代码设置兼容性视图

    一.代码中设置兼容性 <summary> 兼容性视图 </summary> <param name="myPage"></param> ...

  7. iOS开发系列--视图切换

    概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController ...

  8. iOS 视图控制器 (内容根据iOS编程编写)

    视图控制器是  UIViewController 类或其子类对象.每个视图控制器都负责管理一个视图层次结构,包括创建视图层级结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口. 创建 ...

  9. iOS,视图相关

    1.移除视图的所以子视图 2.自定义视图(UIView) 3.处理悬浮窗口(类似微信视频),等比缩放 4.自定义前面视图(可以手写字) 5.图片拉伸的几种方式,计算文本占用空间大小 6.UILable ...

随机推荐

  1. 说说lock到底锁谁(I)?

    写在前面 最近一个月一直在弄文件传输组件,其中用到多线程的技术,但有的地方确实需要只能有一个线程来操作,如何才能保证只有一个线程呢?首先想到的就是锁的概念,最近在我们项目组中听的最多的也是锁谁,如何锁 ...

  2. stat /var/lib/docker/tmp/docker-builder234542842/usr/local/resource/noah_init.sql

    参考:https://blog.csdn.net/andrew_wf/article/details/85202511 将noah_init.sql放到与Dockerfile同一目录

  3. 《黑白团团队》第九次团队作业:Beta冲刺第三天

    项目 内容 作业课程地址 任课教师首页链接 作业要求 团队项目 填写团队名称 黑白团团队 填写具体目标 认真负责,完成项目 团队项目Github仓库地址链接. 第一天 日期:2019/6/24 1.1 ...

  4. 在Myeclipse中没有部署jeesite项目,但是每次运行其他项目时,还是会加载jeesite项目

    解决办法: 一.在以下路径中找到jeesite文件,并删除 1.Tomcat 7.0\conf\Catalina\localhost 2.Tomcat 7.0\webapps 3.Tomcat 7.0 ...

  5. BZOJ3032 七夕祭[中位数]

    发现是一个类似于“纸牌均分”的问题.然后发现,只要列数整除目标.行数整除目标就一定可以. 如果只移动列,并不会影响行,也就是同一行不会多不会少.只移动行同理. 所以可以把两个问题分开来看,处理起来互不 ...

  6. Series和Dataframe分组时使用groupby函数的区别

    1. Dataframe分组用groupby("列名")或者groupby(["列名1","列名2"]) import pandas as ...

  7. 开源笔记软件Joplin

    Joplin is a free, open source note taking and to-do application, which can handle a large number of ...

  8. 原生JS实现拖动滑块验证登录效果

    ♀分享一组利用原生JS实现拖动滑块验证效果 ♀在这个组代码中涉及三个方面的知识: ⑴事件处理 ⑵添加验证标记 ⑶选择器的封装   代码如下: <!DOCTYPE html> <htm ...

  9. 04 JQuery的使用

    01 对网站首页优化--定时弹出广告 <!-- 作者:offline 时间:2018-09-09 描述:在使用JQ前要导入jquery-1.11.0.min.js包 注意区分js和jq的对象 - ...

  10. 【luoguP2483】k短路([SDOI2010]魔法猪学院)

    题目描述 iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的:元素与 ...