网易首页导航封装类

最近来新项目,要做类似新浪那样的,问了下亮哥,亮哥给发了一个demo,做的挺不错的特别是上面的导航,我基本都是在demo的基础上改了下满足了公司的要求,问安卓开发的他们说有第三方,今天闲着没事自己试着进一步的封装了下,同时把源放在了github上,方便以后要做的朋友  https://github.com/ywcui/ViewPagerIndicator

这里不贴源码了,记录下自己遇到的问题。

问题1:由于在底部滑动时会执行UIScrollViewDelegate代理中的scrollViewDidScroll方法,而我在方法里面让导航栏滑动了, 但在执行导航栏滑动的代码中执行了代理barSelectedIndexChanged;在实现这个代理中我又将下面的滑动的方法执行了这样就造成了循环,这个问题当时试了几次,中午吃饭的时候都在想,想着要让一个不执行对方滑动的方法,回来后试了下是可以的,在执行导航栏滚动的方法加了一个参数做为标记值,若flag=No则执行代理否则不执行这样就能解决了

问题2.在点击导航栏中的按钮时从左向右滑动时,在滑动开始的按钮上有来回晃动一下的效果,动画感觉不太爽,这个问题找了好久,没想到石头设置了下Bottom中的setShowPageWithIndex方法的

参数animated为NO就可以了,这也能体现出找bug的能力自己还是有待提高。动画问题首先应该找动画的地方,而我把这个就忽略了,这个值得思考。

问题3.用滚动条放导航按钮,按钮多时,可能有的会隐藏,怎么让它点屏幕边上的按钮时自动的滑出几个按钮,这样就放方便不用用户用手滑了。

这个我也是看亮哥的demo,首先要知道ScrollView它的contentOffset.x是为0, 这样找到点击按钮的frame,根据点中按钮的frame的x坐标和ScrollView的contentOffset.x做比较, 当大于一定值(屏幕右侧的量)时,根据点击按钮的索引和按钮数组,让ScrollView滚动到点击按钮右边的按钮的位置,这样就能向右自动滑动,同理向左滑动时,滚动到点击按钮左边的按钮的位置。具体看github上YZPTopScrollView中的-(void)selectIndex:(int)index withFlag:(BOOL)flag。

效果图:

时间: 2024-12-29 06:45:56

网易首页导航封装类的相关文章

网易首页模仿心得---导航栏CSS篇

不仅是CSS方面学习到很多技法,而且由于自己也懂一些SEO,对网易的一些CSS+SEO优化方法,也收获颇多!(本人也是平面设计师,很喜欢网易这类简约型的网页) 好了,在此之前强烈推荐大家可以尝试一下sublime text3 这款编辑器,之前用的editplus,感觉前者真的非常强大,很多插件会让网页开发的速度快很多,很多!! 我首先看了网易的重置CSS样式表和mata标签,其中mata标签中有一行 <meta name="robots" content="index,

163网易网址导航源码 v1.0

163网址导航,是网易公司提供的网址导航服务,是综合性的网址导航网站.提供搜索引擎入口.实用工具.天气预报等功能,本站源码纯争.无插件.无广告.无弹窗.完全免费. 2014-6-9 新版本发布.修改提示: ※ 下载后请更换成自己的网站LOGO ※ 首页.内页LOGO位置images/logo.jpg: ※ 首页和内页统计代码均在js/tj.js修改: ※ 留言板管理后台http://你的网站/feedback/admin_index.asp 用户名:admin 密码:admin上传即可使用. 详

站长有福了-让网址一键添加百度首页导航

自从受到了领导的熏陶之后,就想做一个针对企业运维IT人员的网站,收集一些对企业运维有价值的网站,也推荐一些安全信息给运维人员,在工作中发现中国It运维人员缺少对安全的认知,目前网站已经上线,可以到share.ykuaile.net上面查看信息,也欢迎大家推荐网站.网页做好了,就要去做用户体验,因为我习惯性把常用的网站添加到百度首页导航里面,这样每次打开浏览器就可以选择打开我常用的网站了.非常方便.这样一想,我就想让我的网站能拥有这个功能,至此我也做到了这个功能. NO.1 下载代码 https:

PagerSlidingTabStrip实现网易新闻导航栏效果

PagerSlidingTabStrip实现网易新闻导航栏效果之前在项目当中有一个需求,实现类似网易新闻标题导航的效果,于是在在github搜索下,找了一个开源PagerSlidingTabStrip,研究了这个空间的使用和一些方法,在此与大家分享,希望能够帮到有需要的朋友,好了废话不多讲,直接上代码. package com.example.textpagerslidingtabstrip.activity; import com.example.textpagerslidingtabstri

爱奇艺首页导航轮播特效

1 <!doctype html><!--声明当前文档为html文档--> 2 <html lang="en"><!--语言为英语--> 3 <head><!--头部--> 4 <meta charset="UTF-8"><!--字符编码:utf-8国际编码 gb2312中文编码--> 5 <meta name="Keywords" conten

修改首页导航菜单的位置

将首页的导航菜单移入到 banner下面的方法: 进入后台,在cms-page-设计: 右边: 1.<reference name="content">2.<block type="catalog/product_new" name="home.catalog.product.new" template="catalog/product/tabMenu.phtml" after="cms_page&

首页导航条栏目高亮显示

{pc:content action="category" catid="0" num="6" siteid="$siteid" order="listorder ASC"} <ul>    <li  {if !$catid} class="active" {/if}><a href='index.html'><span>首页</sp

实例:网站首页导航栏

网站首页导航 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>网站导航</title> 5 <meta charset = "utf-8"/> 6 <style> 7 .nav{ 8 text-align: center; 9 } 10 .nav a{ 11 /* 去掉下划线 */ 12 text-decoration: none; 13 /* 转化为块,目的设

ECShop二次开发之首页导航栏管理

在安装了ECShop默认模板之后,为了方便学习,我们将案例数据也安装上去,安装过程就不详细说了.完成之后,我们会看到如下图的首页: 此时我们看到导航栏上面有:首页....EC论坛这一堆,我们要怎么样隐藏这些不要的信息呢,我们从后台就可以管理导航栏的信息. 通过后台:系统设置---自定义导航栏 就可以定义是否显示这些导航信息,并且还可以根据自己的需要添加新的导航栏信息. 把红框中的勾去掉之后,刷新前台,变成如下图: ok,这一小节就先写这一个吧,下一节我们再继续其他方面的学习. 欢迎高手留言指点斧