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 ...
随机推荐
- Ubuntu 18.04实现实时显示网速
1.添加源 sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor 2.更新源 sudo apt-get update 3.安装sys ...
- CF732F Tourist Reform[边双缩点]
题意:给无向图每一条边定向,使得每个点可达点数$R_i$最小值尽可能大,求方案. 条件反射想到二分答案,然后看怎么检验,发现要让所有点$R_i$大于等于某一个值,首先我们关注某些特殊的子图:如果有环的 ...
- @WebFilter 的使用及采坑
@WebFilter@WebFilter 用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器.该注解具有下表给出的一些常用属性 ( 以下所有属性均为 ...
- 题解 [BZOJ4368][IOI2015]boxes纪念品盒
题面 解析 可以发现,发纪念品有三种方式: 从左边走再原路返回. 从右边走再原路返回. 走一圈. 注意到,第三种走法最多只会走一次, 因为如果走了多次,那发放的物品数量就会>=\(2k\), 那 ...
- 关于JPA动态SQL查询
1.继承接口 2.下面是简单的操作---自己写过的,下次再整理一下 public Page<IdddsMember> list(MemberSearch search, Pageable ...
- IntelliJ IDEA 运行项目的时候提示 Command line is too long 错误
在 IntelliJ IDEA 项目运行的时候收到了下面的错误提示: Error running 'Application': Command line is too long. Shorten co ...
- 【luogu2668斗地主】模拟
题目描述: 输入格式: 输出格式: 输入样例: 1: 1 8 7 4 8 4 9 1 10 4 11 1 5 1 1 4 1 1 2: 1 17 12 3 4 3 2 3 5 4 10 2 3 3 1 ...
- 第三章 python数据规整化
本章概要 1.去重 2.缺失值处理 3.清洗字符型数据的空格 4.字段抽取 去重 把数据结构中,行相同的数据只保留一行 函数语法: drop_duplicates() #导入pandas包中的read ...
- List对象遍历时null判断
使用for循环遍历list处理list元素时,对null值判断: 1.list为null时空指针异常 2.list不为空,但是list.size()=0时,不执行for循环内代码块 3.list.si ...
- MongoDB系列一:MongoDB文档型数据库特点介绍
一.MongoDB数据库的存储特点: 1.MongoDB是文档型数据库,存储的是文档(将json二进制化为Bson存储): 2.存储的每篇文档都可以有自己独特的存储结构,颠覆了传统数据库必须按照表和列 ...