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:@"" 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的左右视图的更多相关文章
- Vue.set 向响应式对象中添加响应式属性,及设置数组元素触发视图更新
一.为什么需要使用Vue.set? vue中不能检测到数组和对象的两种变化: 1.数组长度的变化 vm.arr.length = 4 2.数组通过索引值修改内容 vm.arr[1] = ‘aa’ Vu ...
- iOS 之 设置控件在视图中心位置
_qrImgView.bounds = CGRectMake(0, 0, sizeImg, sizeImg); _qrImgView.center = CGPointMake(CGRectGetWid ...
- SB中使用Autolayout设置到父视图的间距为0
发现打上钩的话在plus以下的屏幕上控件的实际x会是-4但是在plus上是0, 所以要设置一致的到视图的左右都未0 必须把Constrain to margins钩去掉!
- IE兼容性视图设置
问题: 页面 http://course.upol.cn/lx/jzjjygl/index.html 的课程学习中课程打不开 看了代码是有浏览器版本要求,IE9以上无法访问 解决办法: 1. 在IE设 ...
- EBS OAF开发中实体对象和视图对象的属性设置器
EBS OAF开发中实体对象和视图对象的属性设置器 (版权声明.本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 源文: Home > Oracle ...
- Asp.net 代码设置兼容性视图
一.代码中设置兼容性 <summary> 兼容性视图 </summary> <param name="myPage"></param> ...
- iOS开发系列--视图切换
概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController ...
- iOS 视图控制器 (内容根据iOS编程编写)
视图控制器是 UIViewController 类或其子类对象.每个视图控制器都负责管理一个视图层次结构,包括创建视图层级结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口. 创建 ...
- iOS,视图相关
1.移除视图的所以子视图 2.自定义视图(UIView) 3.处理悬浮窗口(类似微信视频),等比缩放 4.自定义前面视图(可以手写字) 5.图片拉伸的几种方式,计算文本占用空间大小 6.UILable ...
随机推荐
- Django form表单修改数据
form: #!/usr/bin/env python #coding:utf8 from django.forms import Form,ModelForm import models class ...
- js获取页面元素的位置
一.网页的大小和浏览器窗口的大小 首先,要明确两个基本概念. 一张网页的全部面积,就是它的大小.通常情况下,网页的大小由内容和CSS样式表决定. 浏览器窗口的大小,则是指在浏览器窗口中看到的那部分网页 ...
- spark为什么比hadoop的mr要快?
1.前言 Spark是基于内存的计算,而Hadoop是基于磁盘的计算:Spark是一种内存计算技术. 但是事实上,不光Spark是内存计算,Hadoop其实也是内存计算. Spark和Hadoop的根 ...
- np中的随机函数
numpy.random.uniform介绍: 1. 函数原型: numpy.random.uniform(low,high,size) ==>也即其他函数是对该函数的进一步封装 功能: ...
- 前端css知识实现自动打字,文字滚动
HTML部分: <div class="div1"> <div class="div2">文字文字文字文字文字文字文字文字文字文字文字文 ...
- HydroCMS-用ueditor无法实现word中图片转存的问题
图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...
- Codevs 1298 凸包周长
1298 凸包周长 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 给出平面上n个点,求出这n个点形成的凸包的周长. 凸包的定 ...
- 配置魔药(DP)
配置魔药 [问题描述] 在<Harry Potter and the Chamber of Secrets>中,Ron的魔杖因为坐他老爸的Flying Car撞到了打人柳,不幸被打断了,从 ...
- ubuntu 16.04安装gitlab,然后汉化
1 前期准备 电脑配置:windows7 ,内存8GB以上(因为有4GB左右要分配给虚拟机中的ubuntu) 虚拟机:VBOX Linux系统:ubuntu16.04 64bit 2 Gitlab的搭 ...
- 初学mysql 如何删除数据库 如何安装mysql
廖老师官网链接 这两个表格有个映射关系,就是根据Grade_ID可以在班级表中查找到对应的所有班级: 也就是Grade表的每一行对应Class表的多行,在关系数据库中,这种基于表(Table)的一对多 ...