DZNSegmentedControl和XLForm联合使用
前言:
可能我还没有掌握IOS开发的精髓, 总感觉写ios代码像调bug, 任何一个功能开发完成之后总会有莫名其妙的问题, 最终这些问题很大概率会归结为"系统特性".
正文:
问题一
项目中想要实现一个控制器的嵌套, 选了DZNSegmentedControl
控件, 使用过程中出现了如下图的问题
控件的使用在第二个控制器里, 当返回第一个控制器时, 应用直接崩溃. 工程项目中没有一行有用的日志输出, 只能一行一行看代码, 最终看代码并与demo对比没发现任何不妥, 只能一行行注释代码看运行效果:
经过运行测试, 发现是上述行代码引起的. 但是这个功能是什么相比不用多说,是很必要的,那怎么解决?
从现状分析我们可知, 当我们返回第一个控制器时,我们使用DZNSegmentedControl
控件的第二个控制器被销毁了, 由此引发崩溃. 而崩溃的原因在于 scrollview
的segmentedControl
代理不为空. 解决办法很简单, 在销毁时让它为空!
于是在第二个控制器中添加了如下代码:
-(void) viewDidDisappear:(BOOL)animated{
self.svcontent.segmentedControl = nil;
}
这样整个程序就完美运行了!
ps: 后面为了写本文重新写了个简单项目, 发现有崩溃日志了,也是囧! 日志如下:
原因与我们推测是一样的, 当然还是使用上述解决办法!
问题二
当XLFormViewController
的view
嵌套仅scrollview
中时 ,我们发现XLFormRowDescriptorTypeSelectorPush
类型的行不能弹出选项了. 原因我们很容易知道, 因为它要弹出的是一个新的窗口, 而原始的XLFormViewController
并不在管理当前window. 当我们将行类型其换成XLFormRowDescriptorTypeSelectorAlertView
就能够正常显示了.
但我们同时又面临新的问题, 弹出的 "取消" 按钮是英文的.
使用XLFormRowDescriptorTypeSelectorAlertView
在整个工程路径中搜索, 发现XLFormSelectorCell.m
文件中有NSLocalizedString(@"Cancel", nil)]
的代码, 于是我们确信通过适配多语言可以修改XLFrom英文.
参考: 多语言适配
完整代码: https://github.com/talkfiled/SegmentedXLFormIssues
DZNSegmentedControl和XLForm联合使用的更多相关文章
- Dynamics CRM 之ADFS 使用 WID 的独立联合服务器
ADFS 的使用 WID 的独立联合服务器适用于自己的测试环境,常用的就是在虚机中使用. 拓扑图如下: wID:联合身份验证服务配置为使用 Windows 内部数据库
- Dynamics CRM 之ADFS 使用 WID 的联合服务器场
使用 WID 的联合服务器场 默认拓扑 Active Directory 联合身份验证服务 (AD FS) 是联合服务器场,使用 Windows 内部数据库 (WID). 在这种拓扑, AD FS 使 ...
- Hibernate(5)—— 联合主键 、一对一关联关系映射(xml和注解) 和 领域驱动设计
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: One to One 映射关系 一对一单向外键(XML/Annotation) 一对一双向外键关联(XML/A ...
- Federated Identity Pattern 联合身份模式
Delegate authentication to an external identity provider. This pattern can simplify development, min ...
- [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合
[占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合 Datasets can often contain components of that require differe ...
- SQL联合查询:子表任一记录与主表联合查询
今天有网友群里提了这样一个关于SQL联合查询的需求: 一.有热心网友的方案: 二.我的方案: select * from ( select a.*,(select top 1 Id from B as ...
- Dynamics CRM 之ADFS 使用 SQL Server 的联合服务器场
此拓扑用于 Active Directory 联合身份验证服务 (AD FS) 不同于使用 Windows 内部数据库 (WID) 部署拓扑,因为不会将数据复制到每台联合服务器场中的联合身份验证服务器 ...
- Dynamics CRM 之ADFS 使用 WID 和代理的联合服务器场
为此部署拓扑 Active Directory 联合身份验证服务 (AD FS) 等同于联合服务器场与 Windows 内部数据库 (WID) 拓扑中,但它将代理服务器计算机添加到外围网络,以支持外部 ...
- Mysql联合,连接查询
一. 联合查询 UNION, INTERSECT, EXCEPT UNION运算符可以将两个或两个以上Select语句的查询结果集合合并成一个结果集合显示,即执行联合查询.UNION的语法格式为 ...
随机推荐
- JavaScript中的attachEvent和addEventListener
attachEvent和addEventListener在前端开发过程中经常性的使用,他们都可以用来绑定脚本事件,取代在html中写obj.onclick=method. 相同点: 它们都是dom对象 ...
- 按键精灵Q语言基础
一.数据类型1.1数据类型可以表示一切的类型variant逻辑类型:boolean (true,false)数学类型: 整数:byte(0-255),integer(-32768-32767),lon ...
- KLEE错误汇报一:One phenomenon after the execution using klee
https://github.com/klee/klee/issues/649#issuecomment-300424204 Hi, all, If you write test.c wit ...
- <meta name="renderer" content="webkit">
<meta name="renderer" content="webkit"> 当前国内的大部分主流浏览器(如360)基本都是双核浏览器,所谓双核即 ...
- js前台检测上传图片大小的总结
最近一直在做上传图片的前端检测,不通过后台就完成这个动作.但实际是,实际效果差强人意. html5的fileApi出来后,对文件的处理才变得方便了些,对它的简单介绍可以看我的前面的博客.现在支持的浏览 ...
- Windows 实用小工具
超实用的Windows工具 ====================================================================================== ...
- SVN安装操作流程
SVN 安装操作流程 1.服务端安装流程 1.1 双击打开svn-server安装包 1.2 点击Next 1.3 勾选上“I accert the terms in the License Agre ...
- 一些通过SAP ABAP代码审查得出的ABAP编程最佳实践
1. 这两个IF ELSE分支里检测的条件其实逻辑上来说都是同一类,应该合并到一个IF分支里进行检查: It is an expensive operation to open a file in a ...
- std::vector的内存释放
先上一段代码 using namespace std; class A{ public: ~A(){ cout << "deconstruct"; }; }; #inc ...
- AngularJs学习笔记--Modules
原版地址:http://code.angularjs.org/1.0.2/docs/guide/module 一.什么是Module? 很多应用都有一个用于初始化.加载(wires是这个意思吗?)和启 ...