IOS开发--仿制网易新闻

学习来源:袁峥老师的《快速集成App中顶部标题滚动条

此次博文写的是按需求分析写代码,思路条理性杠杠的,可以提高的编码实现速度哦。

效果:

 

根据这个网易新闻的界面,需求分析:

    需要的对象:

          1、导航控制器默认会生成的导航条,上面可以设置title(当然也可以另外自定义View设置导航条title)

          2、切换页面的标题滚动区是一个ScrollView,在这个ScrollView上面添加六个UIButton,按顺序UIButton的文字是“头条、热点、视频、社会、订阅、科技”六个标题

          3、切换内容的内容滚动区是一个ScrollView,在这个ScrollView上面分别和标题滚动区的标题按钮对应顺序添加关于“头条、热点、视频、社会、订阅、科技”六个View

          4、关于“头条、热点、视频、社会、订阅、科技”六个View,来自六个自定义ViewController。

     需要处理的逻辑:

          5、拖拽内容滚动区,相邻两个页面却换有换页效果,一页View自动占据当前一个页面。

          6、选中标题滚动区的某个标题按钮,选中的按钮会自动切换到中间位置,但是两端的标题按钮会由于滚动区域的缘故不会居中。

          7、选中标题滚动区的某个标题按钮,内容滚动区会切换到对应的View,呈现对应的View内容

          8、点击标题滚动区的某一个标题按钮,会切换状态,选中的标题原本是黑色大小中等的字体切换成红色偏大的字体,取消选中的标题原本是红色偏大的字体切换成黑色大小中等的字体。另外补充:字体大小和颜色切换要动态的变化,会随着拖动内容滚动区而慢慢形变或是色变,而不是一下子变化结束了。

          9、拖拽内容滚动区,滚动一页完毕之后,标题滚动区然后会自动切换对应的标题按钮,以及标题滚动区自动切换居中的效果。(注意这里是滚动完毕一页之后,不是一边滚动一边变化)

 

更多需求效果请有时间继续深入学习:《快速集成App中顶部标题滚动条

 

额外的关联产生的需求:内容滚动区的滚动范围和标题滚动区的滚动范围是由标题按钮个数决定的,六个按钮,就要设置六倍的范围。

 

好了,分析的这么详细,接下来我们就直接根据上面详细的需求分析来一步一步的实现这个网页新闻的功能模块。

 

首先,为了可以封装这部分功能,我使用了xib,但是xib使用导航控制器类的时候,遇到导航控制器类无法设置导航条的title,然后我就只好使用自定义ViewController,然后使用UIView自定义模仿设置导航条,然后在导航条中间添加UILabel,接着在这个xib上添加两个ScrollView,同时为他们添加了自动布局,这里自动布局不难,自己领悟自己弄,这里就不详述了:

然后根据上面的需求1~5

 根据需求6和7,下面:

下面我再重新复述剩下的需求:

          8、点击标题滚动区的某一个标题按钮,会切换状态,选中的标题原本是黑色大小中等的字体切换成红色偏大的字体,取消选中的标题原本是红色偏大的字体切换成 黑色大小中等的字体。另外补充:字体大小和颜色切换要动态的变化,会随着拖动内容滚动区而慢慢形变或是色变,而不是一下子变化结束了。

          9、拖拽内容滚动区,滚动一页完毕之后,标题滚动区然后会自动切换对应的标题按钮,以及标题滚动区自动切换居中的效果。(注意这里是滚动完毕一页之后,不是一边滚动一边变化)

根据需求8和需求9,我们需要的逻辑事件是要根据滚动区滚动而响应的,所以这里就需要我们使用UIScrollViewDelegate的方法了:

先完成需求9:

然后再完成需求8,完成之前先分析一下:

 

当前相邻的按钮也要分left和right,那么left的按钮大小和right的大小比例应该是等于上图中left宽和right宽比例是一样的。

 

这个补充一下:

 其实到这里基本所有的需求都满足了,但是还是有一个小细节没满足,那就是首次启动这个页面,标题没有默认设置选中状态,也就是没有设置默认颜色大小

好了,到这里就基本完成了所有的需求了。

因为这部分模块我基本封装完毕,所以值得下载重复利用哦:

百度云下载链接: http://pan.baidu.com/s/1hrgurIW 密码: dtgv

时间: 2025-01-19 19:29:25

IOS开发--仿制网易新闻的相关文章

Q3移动资讯APP网易新闻客户端稳坐市场第一

艾瑞移动用户行为监测数据显示,3721.html">2014年第三季度网易新闻客户端在用户规模.用户粘性等多项数据维度上继续领跑,日均覆盖人数.日均使用次数和日均使用时长占比均值分别达到25.77%.24.67%和25.00%,稳坐市场第一;尤其在iOS平台,网易新闻月度用户覆盖最高达到42.69%,以绝对优势占据了中高端用户市场.排名第二.三位的搜狐新闻客户端与腾讯新闻客户端竞争渐趋胶着,腾讯渐显赶超搜狐势头. 艾瑞Q3数据统计表明,在用户规模上,网易.搜狐.腾讯三大门户的新闻客户端产品

网易新闻客户端成为三星Gear独家中文新闻应用

中介交易 SEO诊断 淘宝客 云主机 技术大厅 北京时间5日凌晨,三星在德国柏林举行2013新品发布会,发布了备受猜想的三款新品Galaxy Gear.Galaxy Note 3和2014版Galaxy Note 10.1 .其中三星Galaxy Gear作为继Google Glass之后全球第二款可穿戴智能设备,成为全场瞩目的焦点.网易新闻客户端作为Galaxy Gear首批合作应用,特别定制开发的网易新闻客户端for watch版也将随三星gear在中国的上市发布. 据了解,网易新闻客户端f

IOS开发--iPad之仿制QQ空间(登录界面搭建+登录逻辑实现)

1.IOS开发--iPad之仿制QQ空间(登录界面搭建+登录逻辑实现)  开始搭建登录界面 登录界面效果图:  相关的图片资源下载百度云备份链接: http://pan.baidu.com/s/1o71cvMU 密码: 2h7e 步骤开始:   设置辅助窗口的位置在下方     快捷键option,然后拖拽复制之后:                                 这里就直接省去了将背景颜色改为经典黑了.   到这里QQ空间的登录界面搭建完毕.   下面进行登录逻辑的实现:  

视频应用-iOS类似今日头条 网易新闻 视频列表怎么做

问题描述 iOS类似今日头条 网易新闻 视频列表怎么做 如题 请教大神类似今日头条或网易新闻中的视频是怎么实现的?有大神给个思路或者demo吗 解决方案 http://download.csdn.net/detail/vipzjyno1/7382709

iOS开发--仿新闻首页效果WMPageController的使用详解_IOS

这一篇记录的是iOS开发中第三方库WMPageController控件的使用方法,主要是用来分页显示内容的,可以通过手势滑动来切换页面,也可以通过点击标题部分来切换页面,如下图所示: 使用方法: 新建工程DemoTest1,然后通过cocoapods引入WMPageController到项目中,Podfile文件的内容如下: platform :ios,'7.0' target 'DemoTest1' do pod 'WMPageController', '~> 1.6.4' end 方法一:

iOS开发之路--仿网易抽屉效果_IOS

最终效果图: MainStoryBoard示意图: BeyondViewController.h // // BeyondViewController.h // 19_抽屉效果_仿网易 // // Created by beyond on 14-8-1. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import <UIKit/UIKit.h> #import "LeftTableViewControllerD

网易新闻客户端3.0版iOS、Android平台正式上线

网易科技讯 12月3日消息,网易新闻客户端3.0版在"2012网易移动媒体高峰论坛"第一次对外亮相,今日3.0版正式在ios和android平台同步上线,目前,用户已可在各大应用商店下载使用.3.0版与之前的版本相比,在产品设计上有了较大的更新和改进,带来了全新的新闻"易"体验,这将大幅提升用户的移动资讯阅读质量.对此,网易门户移动中心产品负责人表示,网易新闻V3.0版本在设计上忠于系统原生的交互方式,在此基础上进行大范围优化,以符合iOS.android平台阅读类

网易新闻安卓客户端MATERIAL DESIGN实战

  项目背景 网易新闻安卓版一直以来照搬IOS版的交互和视觉,这在一定程度上保持了不同平台上应用风格和用户体验的一致性,也相应的减少了设计和开发的人力成本.市面上的大部分移动应用也是如此.所以,一直以来给用户的感觉是Android没有独立鲜明的视觉风格,但是事实并非如此.不久前Google推出AndroidL系统,视觉语言Material design也相应诞生.Google为设计师提供了一套完整的官方交互视觉设计指引,扁平化.华丽又稳重的色彩,将卡片的功能发挥到极致. 以此为契机,网易新闻也尝

iOS开发:部分字体解析

  一.iOS原生字体展示 在label中选择字体的font,并把font由system改成custom后,就能在family中看到72种特殊字体.这些里面就有很炫的字体,但是全部是只针对英文数字,对中文无效.写了一个程序把所有的原生样式遍历出来展示可以达到如下效果.可以清楚地看到每个字体对应的样式,不用再一个个试了. 开发:部分字体解析-"> 一共是72种样式,我这个demo程序有两种展示方法,简洁展示和详细展示,简洁展示中只会把每个family的第一个font拿出来展示.最后一张图是详