GitHub的地址: https://github.com/Moblox/MBXPageViewController

介绍SegmentController的使用:

- (void)createSegmentView {

    CGFloat segmentX = (K_SCREEN_WIDTH - )/;
CGFloat topHeight = .f;
CGFloat segmentY = (topHeight - K_SEGMENTED_CONTROL_HEIGHT) * 0.5 + ;
CGFloat segmentWidth = ;
UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:@[@"申请信息",@"审批操作"]];
segmentControl.frame = CGRectMake(segmentX, segmentY, segmentWidth, K_SEGMENTED_CONTROL_HEIGHT);
segmentControl.selectedSegmentIndex = ;
segmentControl.tintColor = MAIN_COLOR;
[self.view addSubview:segmentControl];
self.segmentControl = segmentControl; UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(, topHeight + , K_SCREEN_WIDTH, K_SCREEN_HEIGHT - K_STATUS_BAR_AND_NAVI_BAR_HEIGHT - topHeight)];
[self.view addSubview:containerView];
self.containerView = containerView; self.MBXPageController = [MBXPageViewController new];
self.MBXPageController.MBXDataSource = self;
self.MBXPageController.MBXDataDelegate = self;
self.MBXPageController.pageMode = MBX_SegmentController;
[self.MBXPageController reloadPages];
[self MBXPageChangedToIndex:];
}

代理使用如下:

#pragma mark - MBXPageViewController Data Source

- (NSArray *)MBXPageButtons {
return @[self.segmentControl];
} - (UIView *)MBXPageContainer {
return self.containerView;
}

// 给控制器传递数据在此代理写!!!
- (NSArray *)MBXPageControllers { ApplyInfoViewController *appVc = [ApplyInfoViewController new];
appVc.idString = self.model.idString; RepairCheckViewController *checkVc = [RepairCheckViewController new];
checkVc.idString2 = self.model.idString;
return @[appVc, checkVc];
} #pragma mark - MBXPageViewController Delegate

// 给控制器传递数据不能再这里写!!!否则不能刷新表视图!!!
- (void)MBXPageChangedToIndex:(NSInteger)index { // if (index == 0) {
// NSLog(@"111");
// ApplyInfoViewController *applyInfoVc = self.MBXPageControllers[0];
// [self.containerView addSubview:applyInfoVc.view];
// applyInfoVc.idString = self.model.idString;
//// applyInfoVc.model = self.model;
// }
// else {
// NSLog(@"222");
// RepairCheckViewController *checkVc = self.MBXPageControllers[1];
// [self.containerView addSubview:checkVc.view];
// checkVc.idString2 = self.model.idString;
//// checkVc.model = self.model;
// }
}

总结:

1.表视图cellForRow不执行的原因如下几种:

1>.dataSource和delegate没有设置

2>.numberOfRowsInSection和numberOfRowsInSection返回的数据不是大于0的整数

3>.tableView没有添加到父视图上(这种情况,第2点种的方法都执行了)

2.使用第三方框架的时候一定要先熟悉使用方法,不然会在使用上浪费很多时间.

花了一天的时间找问题,很高兴最后还是找到问题所在了,还是学到了点东东.....好开心,加油!!!

第三方MBXPageViewController的使用和注意事项的更多相关文章

  1. Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项

    一.设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法: //唤醒打电话 Device.OpenUri(new Uri("tel:180xxxxxxxx")); ...

  2. iOS开发进阶

    <iOS开发进阶>基本信息作者: 唐巧 出版社:电子工业出版社ISBN:9787121247453上架时间:2014-12-26出版日期:2015 年1月开本:16开页码:268版次:1- ...

  3. Xamarin开发笔记—百度在线语音合成

    语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 技术选型:语音合成初步选择有两个,一是讯飞.二是百度. 因为使用的是X ...

  4. Xamarin开发笔记—WebView双项事件调用

    1.Xamarin调用WebView: 原理:Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数. WebView展示的代码如下: var htmlS ...

  5. 关于 调用 JNI JAR 的说明和注意事项,调用第三方 JAR SDK 和 翻译 安卓 JAVA 代码 的说明 V2015.6.10

    关于 调用 JNI JAR 的说明和注意事项,调用第三方 JAR SDK 和 翻译 安卓 JAVA 代码 的说明 V2015.6.10 转载请标明出处,否则死全家.选择[复制链接]即可得到出处. (* ...

  6. ASP.NET和支付宝合作开发第三方接口的注意事项

    最近公司和支付宝合作开发第三方接口的项目,这里把过程中需要注意的地方说明一下: 前提:一般来说单个银行不接收个人或私企开通支付接口.因此,和第三方支付公司合作,签订合约开放接口就是通行的做法. 流程: ...

  7. AbpZero之企业微信---登录(拓展第三方auth授权登录)---第三步:需要注意事项

    1.AbpZero的auth登录会在数据库中的AbpUserLogins表会根据你登录的ProviderKey和Provider来生成生成一条记录,ProviderKey在表中是唯一的: 2.要登录成 ...

  8. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  9. Swift和Objective-C混编注意事项

    前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...

随机推荐

  1. 模拟赛小结:2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)

    比赛链接:传送门 本场我们队过的题感觉算法都挺简单的,不知道为啥做的时候感觉没有很顺利. 封榜后7题,罚时1015.第一次模拟赛金,虽然是北欧的区域赛,但还是有点开心的. Problem B Best ...

  2. 牛客练习赛46 B 华华送奕奕小礼物 (预处理前缀和,二分)

    链接:https://ac.nowcoder.com/acm/contest/894/B?&headNav=acm 来源:牛客网 华华送奕奕小礼物 时间限制:C/C++ 1秒,其他语言2秒 空 ...

  3. [uboot] (番外篇)global_data介绍(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/ooonebook/article/det ...

  4. grunt-contrib-uglify js压缩

    grunt-contrib-uglify:压缩以及合并JavaScript文件. 插件安装:npm install grunt-contrib-uglify --save-dev 参数: banner ...

  5. 《Python 3标准库》

    在本书中,你会看到用来处理文本.数据类型.算法.数学计算.文件系统.网络通信.Internet.XML.Email.加密.并发性.运行时和语言服务等各个方面的实用代码和解决方案.在内容安排上,每一节都 ...

  6. ubuntu1804 安装Nvidia驱动-nvidia-docker

    操作 看显卡 lspci | grep N 01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2) 0 ...

  7. 线上 CPU100% 排查方案

    问题:生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 下面给出两种系统下的排查步骤,都是一模一样的,只是命令稍有区别! 查消耗cpu最高的进程PID 根据 ...

  8. 在linux安装php

    去www.php.net找下载最新的版本 http://www.php.net/downloads.php 下载解压 # wget  http://cn2.php.net/distributions/ ...

  9. C# 使用vs2013 写 windows服务

    第一步:添加windows服务项目 并起一个 好看的名字 第二步:添加安装程序 第三步:右键点击serviceProcessInstaller1属性,在Account中选择LocalSystem 第四 ...

  10. Jmeter(一) 安装

    一.检查JDK版本 执行cmd > java -version 查看本机JDK版本,JDK版本不能低于1.6 二.软件下载 登录Jmeter官网:https://jmeter.apache.or ...