继续前两篇,接着本第三篇《学习Coding-iOS开源项目日志(三)》讲解Coding-iOS开源项目。

前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目。本篇开始会陆续更新本人对github上开源的一个很不 错的项目的一点点学习积累。也就是,探究着别人写的源码,我学到了新的什么东西?本人愚拙,而且码龄不多,也就三年左右,水平不高,如有挫解,还望指正。 本人乐爱学习,乐于分享,广结良缘,愿意交流。当然,高手可以飘过。

Coding-iOS项目网址:https://github.com/Coding/Coding-iOS 读者感兴趣的可以自己去下载,当然项目很多第三方框架是没有直接集成进来的,读者自行通过该项目的提示处理。

另外还有官网介绍:https://coding.net/u/coding/p/Coding-iOS/git#rd

内容概要:

1、关于Coding中的自定义Cell

2、关于TableViewCell被选中,然后会恢复未被选中

3、关于UISegmentedControl

4、关于RootTabViewController

5、关于RKSwipeBetweenViewControllers

正文:

1、关于Coding中的自定义Cell

这段内容比较多了,因为Coding中的自定义的各种各样的Cell很多哦,所以我会慢慢更新,哈哈。

用Reveal查看"消息"界面的UI,可以看到:

然后回到代码中查看,可以很快的定位到ConversationCell和ToMessageCell这两个自定义Cell的类。

然后进一步查看ToMessageCell,可以看到

另外:

本小节会不断的更新。

2、关于TableViewCell被选中,然后会恢复未被选中

这是个很基础的东西,只需要在UITableView下面这个代理方法调用一行代码即可:

3、关于UISegmentedControl

其实UISegmentedControl可能是你们很常见的控件,但是本人用的很少,所以不太熟悉用法,然后看到Coding中正好使用了,所以就截图来查看使用方法,就这样我又学到东西了。

通过Reavel我们可以发现这个UISegmentedControl在控制器EditTopicViewController中,然后接着我们回到Coding项目中:

可以找到这个EditTopicViewController控制器,然后查看:

就这样我们可以通过Coding这个案例学习到东西了,拿去运用到你项目中需要的地方去吧。

然后注意,如果需要在启动当前界面的时候,UISegmentedControl默认要有一个被选中的状态,而不是默认都不被选中,所以需要:

接着:

然后对应还要设置响应的业务逻辑代码:

4、关于RootTabViewController

在RootTabViewController中,我们可以看到它添加了五个控制器:

5、关于RKSwipeBetweenViewControllers

这个RKSwipeBetweenViewControllers,我也是从上面一个截图中的冒泡控制器对象就是通过这个RKSwipeBetweenViewControllers类创建的,然后我通过commond+click点进去查看,发现这个RKSwipeBetweenViewControllers就是github上开源的很不错的源码:https://github.com/cwRichardKim/RKSwipeBetweenViewControllers

然后我们再看看Coding的效果:

Coding对这个RKSwipeBetweenViewControllers进行了自定义的修改,RKSwipeBetweenViewControllers的开发者设计的效果不是这样的,但是Coding的开发者却改的很不错,视觉效果就是上面的效果,很好看吧。

本人打算将这个RKSwipeBetweenViewControllers进行学习,然后进行很好的高内聚低耦合的有效封装,并适用更多的使用场景,以满足更多的需求。(需要时间,哈哈)

学习Coding-iOS开源项目日志(三)的更多相关文章

  1. 推荐大家在GitHub 上值得关注学习的 iOS 开源项目

    GitHub上有很多不错的iOS开源项目,和大家特别推荐以下几个项目: 1. ReactiveCocoa GitHub链接:ReactiveCocoa/ReactiveCocoa GitHub自家的函 ...

  2. 直接拿来用!最火的iOS开源项目(三)

    相比Android,GitHub上的iOS开源项目更可谓是姹紫嫣红.尽管效果各异,但究其根源,却都是因为开发者本身对于某种效果的需求以及热爱.在“直接拿来用!最火的iOS开源项目”系列文章(一).(二 ...

  3. 直接拿来用!最火的iOS开源项目(一~三)

    结束了GitHub平台上“最受欢迎的Android开源项目”系列盘点之后,我们正式迎来了“GitHub上最受欢迎的iOS开源项目”系列盘点.今天,我们将介绍20个在GitHub上非常受开发者欢迎的iO ...

  4. 学习Coding-iOS开源项目日志(一)

    前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累.也就是,探究着别人写的源码,我学到了 ...

  5. 学习Coding-iOS开源项目日志(二)

    继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...

  6. 学习Coding-iOS开源项目日志(五)

    继续,接着前面第四篇<学习Coding-iOS开源项目日志(四)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目 ...

  7. 转__Android开源项目(三 完结篇)

    http://www.csdn.net/article/2013-05-21/2815370-Android-open-source-projects-finale/1 截至目前,在GitHub“最受 ...

  8. iOS开源项目周报1222

    由OpenDigg 出品的iOS开源项目周报第二期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. io ...

  9. 直接拿来用!最火的iOS开源项目

    1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...

随机推荐

  1. 原生js实现简洁的返回顶部组件

    本文内容相当简单,所以没有发布到博客园首页,如果你不幸看到,那只能是我这篇文章的荣幸,谢谢你的大驾光临~(本博客返回顶部的功能就使用的是这个组件) 返回顶部组件是一种极其常见的网页功能,需求简单:页面 ...

  2. 功能更新到 Windows 10 企业版, 版本 1607

    功能更新到 Windows 10 企业版, 版本 1607

  3. Emit学习(3) - OpCodes - 动态添加属性、构造函数、方法

    上一篇介绍了 IL 的部分, 基础的部分, 暂时就介绍到那里了, 接下来要进入代码编写阶段了. 今天的主题是 在代码运行的过程中, 去动态的创建类, 属性, 方法. 来源:http://www.cnb ...

  4. 质数的判断,实现bool IsPrime(int number)

    1.重复输入一个数,判断该数是否是质数,输入q结束?质数的判断用方法来实现bool IsPrime(int number) static void Main(string[] args) { // 要 ...

  5. Mysql 大小写问题

    今天发布程序的时候,日志报错找不到表,但是系统中已经存在表,最后发现是sql大小写的问题,mysql默认设置导致这些执行失败. 1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下 ...

  6. BaaS模式的开发思路

    如今,有一种BaaS服务(后端即服务)的模式,即无需编程即可生成后端应用及相应API. Drupal这套CMS下,有一款插件Services,可以在线直接自定义各种格式如json.xmlrpc.web ...

  7. Global和Globals

    $a= '1234'; $a = 'abc'; $GLOBAS['b']='123'; function showVar(){ echo $a;//什么也输不出来 echo $b;//123(全局变量 ...

  8. 三层架构与MVC之间的区别

    文章转发自:http://www.admin10000.com/document/535.html 我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真 ...

  9. TestNG官方文档中文版(1)-介绍

    TestNG的官方文档请见: http://testng.org/doc/documentation-main.html 1. 介绍    TestNG是一个设计用来简化广泛的测试需求的测试框架,从单 ...

  10. singleCall单来源调用解析及实现

    定义: 单来源调用指一个类的生成工作只能由特定类来执行. eg李宁牌鞋子只能由李宁专卖店生产 这个问题归结起来,也就是说在工厂模式中,指定的产品类只能通过具体的特定工厂类来生成,而不能自己new出来或 ...