前言:

可能我还没有掌握IOS开发的精髓, 总感觉写ios代码像调bug, 任何一个功能开发完成之后总会有莫名其妙的问题, 最终这些问题很大概率会归结为"系统特性".

正文:

问题一

项目中想要实现一个控制器的嵌套, 选了DZNSegmentedControl 控件, 使用过程中出现了如下图的问题

控件的使用在第二个控制器里, 当返回第一个控制器时, 应用直接崩溃. 工程项目中没有一行有用的日志输出, 只能一行一行看代码, 最终看代码并与demo对比没发现任何不妥, 只能一行行注释代码看运行效果:

经过运行测试, 发现是上述行代码引起的. 但是这个功能是什么相比不用多说,是很必要的,那怎么解决?

从现状分析我们可知, 当我们返回第一个控制器时,我们使用DZNSegmentedControl 控件的第二个控制器被销毁了, 由此引发崩溃. 而崩溃的原因在于 scrollviewsegmentedControl代理不为空. 解决办法很简单, 在销毁时让它为空!

于是在第二个控制器中添加了如下代码:

-(void) viewDidDisappear:(BOOL)animated{
    self.svcontent.segmentedControl = nil;
}

这样整个程序就完美运行了!

ps: 后面为了写本文重新写了个简单项目, 发现有崩溃日志了,也是囧! 日志如下:

原因与我们推测是一样的, 当然还是使用上述解决办法!

问题二

XLFormViewControllerview嵌套仅scrollview中时 ,我们发现XLFormRowDescriptorTypeSelectorPush 类型的行不能弹出选项了. 原因我们很容易知道, 因为它要弹出的是一个新的窗口, 而原始的XLFormViewController 并不在管理当前window. 当我们将行类型其换成XLFormRowDescriptorTypeSelectorAlertView 就能够正常显示了.

但我们同时又面临新的问题, 弹出的 "取消" 按钮是英文的.

使用XLFormRowDescriptorTypeSelectorAlertView 在整个工程路径中搜索, 发现XLFormSelectorCell.m文件中有NSLocalizedString(@"Cancel", nil)] 的代码, 于是我们确信通过适配多语言可以修改XLFrom英文.

参考: 多语言适配

完整代码: https://github.com/talkfiled/SegmentedXLFormIssues

DZNSegmentedControl和XLForm联合使用的更多相关文章

  1. Dynamics CRM 之ADFS 使用 WID 的独立联合服务器

    ADFS 的使用 WID 的独立联合服务器适用于自己的测试环境,常用的就是在虚机中使用. 拓扑图如下: wID:联合身份验证服务配置为使用 Windows 内部数据库

  2. Dynamics CRM 之ADFS 使用 WID 的联合服务器场

    使用 WID 的联合服务器场 默认拓扑 Active Directory 联合身份验证服务 (AD FS) 是联合服务器场,使用 Windows 内部数据库 (WID). 在这种拓扑, AD FS 使 ...

  3. Hibernate(5)—— 联合主键 、一对一关联关系映射(xml和注解) 和 领域驱动设计

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: One to One 映射关系 一对一单向外键(XML/Annotation) 一对一双向外键关联(XML/A ...

  4. Federated Identity Pattern 联合身份模式

    Delegate authentication to an external identity provider. This pattern can simplify development, min ...

  5. [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合

    [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合 Datasets can often contain components of that require differe ...

  6. SQL联合查询:子表任一记录与主表联合查询

    今天有网友群里提了这样一个关于SQL联合查询的需求: 一.有热心网友的方案: 二.我的方案: select * from ( select a.*,(select top 1 Id from B as ...

  7. Dynamics CRM 之ADFS 使用 SQL Server 的联合服务器场

    此拓扑用于 Active Directory 联合身份验证服务 (AD FS) 不同于使用 Windows 内部数据库 (WID) 部署拓扑,因为不会将数据复制到每台联合服务器场中的联合身份验证服务器 ...

  8. Dynamics CRM 之ADFS 使用 WID 和代理的联合服务器场

    为此部署拓扑 Active Directory 联合身份验证服务 (AD FS) 等同于联合服务器场与 Windows 内部数据库 (WID) 拓扑中,但它将代理服务器计算机添加到外围网络,以支持外部 ...

  9. Mysql联合,连接查询

    一. 联合查询    UNION, INTERSECT, EXCEPT UNION运算符可以将两个或两个以上Select语句的查询结果集合合并成一个结果集合显示,即执行联合查询.UNION的语法格式为 ...

随机推荐

  1. asp.net 日期转换为大写汉字

    //年份转换为大写汉字 public static string numtoUpper(int num) { return "零壹贰叁肆伍陆柒捌玖"[num].ToString() ...

  2. es6 import笔记

    export输出: // profile.js var firstName = 'Michael'; var lastName = 'Jackson'; var year = 1958; export ...

  3. 纯CSS实现立方体旋转

    下面为通过CSS动画实现的立方体旋转,可以改变CSS代码中关键帧定义(@keyframes)来改变立方体的旋转方式 HTML部分: <body class="body"> ...

  4. 002服务提供者Eureka

    1.POM配置 和普通Spring Boot工程相比,仅仅添加了Eureka.Spring Boot Starter Actuator依赖和Spring Cloud依赖管理 <dependenc ...

  5. 微信小程序支付返回信息为空

    1.昨天公司说要实现微信小程序的支付,于是看了下微信小程序的开发api文档,和之前的app  端以及pc端基本相似:于是让他们把参数改了下,把之前的trade_type 由 app 改成 小程序要求的 ...

  6. 通过游戏学敏捷:只通过Specification来传递需求

    转自:https://mp.weixin.qq.com/s/jAYbAMUTNYGh4RxGPAZ1AQ 活动把每个小组(4-5个人)中的2人留在屋子里,其他人到屋子外面等待.在屋子里的人,会得到一张 ...

  7. Thread调用SaveFileDialog

    public void ThreadSaveFileDialog(string sourceFileName) { Thread importThread = new Thread(new Param ...

  8. dll的制作

    https://blog.csdn.net/guanchanghui/article/details/1621031

  9. Python初学者第五天 列表及简单操作

    5day 数据类型:列表 1.创建列表 user = ['aa','14',1,10,'aa',1,2,3,3,5,9] n = [] list() m = list() 2.查询 a.按索引查询 b ...

  10. 第五周 day5 python学习笔记

    1.软件开发的常规目录结构 更加详细信息参考博客:http://www.cnblogs.com/alex3714/articles/5765046.html         2.python中的模块 ...