第三方MBXPageViewController的使用和注意事项
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的使用和注意事项的更多相关文章
- Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项
一.设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法: //唤醒打电话 Device.OpenUri(new Uri("tel:180xxxxxxxx")); ...
- iOS开发进阶
<iOS开发进阶>基本信息作者: 唐巧 出版社:电子工业出版社ISBN:9787121247453上架时间:2014-12-26出版日期:2015 年1月开本:16开页码:268版次:1- ...
- Xamarin开发笔记—百度在线语音合成
语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 技术选型:语音合成初步选择有两个,一是讯飞.二是百度. 因为使用的是X ...
- Xamarin开发笔记—WebView双项事件调用
1.Xamarin调用WebView: 原理:Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数. WebView展示的代码如下: var htmlS ...
- 关于 调用 JNI JAR 的说明和注意事项,调用第三方 JAR SDK 和 翻译 安卓 JAVA 代码 的说明 V2015.6.10
关于 调用 JNI JAR 的说明和注意事项,调用第三方 JAR SDK 和 翻译 安卓 JAVA 代码 的说明 V2015.6.10 转载请标明出处,否则死全家.选择[复制链接]即可得到出处. (* ...
- ASP.NET和支付宝合作开发第三方接口的注意事项
最近公司和支付宝合作开发第三方接口的项目,这里把过程中需要注意的地方说明一下: 前提:一般来说单个银行不接收个人或私企开通支付接口.因此,和第三方支付公司合作,签订合约开放接口就是通行的做法. 流程: ...
- AbpZero之企业微信---登录(拓展第三方auth授权登录)---第三步:需要注意事项
1.AbpZero的auth登录会在数据库中的AbpUserLogins表会根据你登录的ProviderKey和Provider来生成生成一条记录,ProviderKey在表中是唯一的: 2.要登录成 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- Swift和Objective-C混编注意事项
前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...
随机推荐
- PAT Basic 1007 素数对猜想 (20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数.显然有d1=1,且对于n>1有dn是偶数.“素数对猜想”认为“存在无穷多对相邻且差为2的素 ...
- win redis安装
一.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网以及没有下载地址,只能在github上下载,官网只提供linux版本的下载 官网下载地址 ...
- lemon用法
zhx精讲用法: 首先,打开 柠檬图标. 只留g++ 然后按照这个路径进入c++找编译文件: 打开后点确定. 然后在你的试题中找到后缀为cdf的文件(为试题的全部信息),然后添加到试题中,然后把选手文 ...
- Java I/O(二)其他常用的输入输出流PrintStream等、标准流重定向
四.FilterOutputStream.PrintStream PrintStream是继承自FilterStream类的,例如标准输出流System.out就是著名的PrintStream类对象. ...
- 阻止默认/冒泡事件(兼容ie)
(1) 阻止默认事件 function(e){ if(e && e.preventDefault){ e.preventDefault(); }else{ //IE window.ev ...
- Django + pyecharts 实现数据可视化
1 创建django项目 :Visualization and APP :Demo >>django-admin startproject Visualization >>p ...
- Javascript兼容各浏览器的日期转换
var date = new Date(Date.parse("2015-09-05".replace(/-/g,"/")));'2015-09-05'是无法被 ...
- javascript中的原型和原型链(四)
new运算符工作原理
- hdu_1059(多重背包)
多重背包的讲解: 多重背包问题https://blog.csdn.net/yandaoqiusheng/article/details/84782655 ; i <= n; i++) { int ...
- R_Studio(学生成绩)使用cbind()函数对多个学期成绩进行集成
“Gary1.csv”.“Gary2.csv”.“Gary3.csv”中保存了一个班级学生三个学期的成绩 对三个学期中的成绩数据进行集成并重新计算综合成绩和排名,并按排名顺序排布(学号9位数11130 ...