IOS開發(fā)-詳解網(wǎng)易新聞導(dǎo)航標(biāo)題欄

項(xiàng)目源碼下載

框架實(shí)現(xiàn)效果圖

對(duì)于該功能的需求分析
1.切換標(biāo)題,被點(diǎn)擊的標(biāo)題和原標(biāo)題的比例和顏色都會(huì)漸變,并且會(huì)切換控制器
2.滑動(dòng)內(nèi)容視圖也會(huì)產(chǎn)生點(diǎn)擊標(biāo)題的效果
3.內(nèi)容視圖一開始不加載,有一張占位圖占位
4.視頻和社會(huì)標(biāo)題被點(diǎn)擊后會(huì)滑動(dòng)到屏幕中央

一步步實(shí)現(xiàn)導(dǎo)航標(biāo)題欄

  • 搭建基本框架
    1.該功能由2個(gè)ScrollView組成
    2.標(biāo)題導(dǎo)航欄可以使用三目運(yùn)算來判斷y值(根據(jù)是否存在導(dǎo)航控制器)

  • 設(shè)置標(biāo)題
    1.通過遍歷所有的子控制器來創(chuàng)建對(duì)應(yīng)標(biāo)題
    2.設(shè)置標(biāo)題按鈕的X值時(shí),使用下標(biāo)乘以按鈕寬度獲得
    3.標(biāo)題也可以通過label來實(shí)現(xiàn),只需要為label添加點(diǎn)按手勢(shì),并且將userInteractionEnabled設(shè)置為YES

  • 監(jiān)聽標(biāo)題按鈕點(diǎn)擊
    1.通過下標(biāo)來為按鈕tag賦值,并且給按鈕添加一個(gè)監(jiān)聽方法
    2.在監(jiān)聽方法中恢復(fù)上一個(gè)按鈕文字顏色并將被點(diǎn)擊按鈕顏色變紅,記錄下當(dāng)前被點(diǎn)擊按鈕
    3.通過按鈕tag來獲取對(duì)應(yīng)子控制器并設(shè)置frame
    4.設(shè)置內(nèi)容控制器的偏移量

  • 監(jiān)聽內(nèi)容視圖滾動(dòng)
    1.為內(nèi)容視圖添加代理,并在scrollViewDidEndDecelerating:方法中實(shí)現(xiàn)
    2.通過內(nèi)容視圖偏移量的X除以屏幕寬度來獲得角標(biāo)
    3.通過角標(biāo)來選中按鈕和獲取子控制器的View
    4.在獲取子控制器View的方法內(nèi)判斷當(dāng)前視圖是否存在superview,如果存在就return,這段代碼可以實(shí)現(xiàn)最開始切換在該視圖時(shí)有個(gè)占位圖片,實(shí)現(xiàn)懶加載

  • 按鈕居中處理
    1.通過被選中按鈕中心點(diǎn)的X值減去屏幕寬度的一半來計(jì)算偏移量
    2.通過偏移量來判斷如果小于0或者大于最大滾動(dòng)寬度時(shí)不移動(dòng),否則會(huì)造成每個(gè)標(biāo)題都居中

  • 標(biāo)題縮放
    1.通過偏移量除以屏幕寬度來獲得左邊按鈕角標(biāo),左邊按鈕角標(biāo)加一來獲得右邊按鈕角標(biāo)
    2.在設(shè)置標(biāo)題按鈕方法中,將每個(gè)按鈕加入可變數(shù)組
    3.通過角標(biāo)來獲得2個(gè)按鈕,這里需要判斷如果左邊按鈕角標(biāo)為5時(shí),不取右邊按鈕
    4.通過CGAffineTransformMakeScale方法來對(duì)2個(gè)按鈕縮放

  • 標(biāo)題文字漸變

    • 為什么文字顏色能漸變?通過RGB來實(shí)現(xiàn),更改R的值就能實(shí)現(xiàn)黑色和紅色的漸變

具體實(shí)現(xiàn)請(qǐng)看源碼,若有疑問,會(huì)第一時(shí)間解答

還在學(xué)習(xí)中,若有錯(cuò)誤請(qǐng)大家指出,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涉瘾,一起剝皮案震驚了整個(gè)濱河市徒仓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖员淫,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡暮的,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門淌实,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冻辩,“玉大人,你說我怎么就攤上這事拆祈『奚粒” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵放坏,是天一觀的道長咙咽。 經(jīng)常有香客問我,道長轻姿,這世上最難降的妖魔是什么犁珠? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮互亮,結(jié)果婚禮上犁享,老公的妹妹穿的比我還像新娘。我一直安慰自己豹休,他們只是感情好炊昆,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著威根,像睡著了一般凤巨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洛搀,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天敢茁,我揣著相機(jī)與錄音,去河邊找鬼留美。 笑死彰檬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谎砾。 我是一名探鬼主播逢倍,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼景图!你這毒婦竟也來了较雕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤挚币,失蹤者是張志新(化名)和其女友劉穎亮蒋,沒想到半個(gè)月后扣典,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宛蚓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年激捏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凄吏。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡远舅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痕钢,到底是詐尸還是另有隱情图柏,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布任连,位于F島的核電站蚤吹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏随抠。R本人自食惡果不足惜裁着,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拱她。 院中可真熱鬧二驰,春花似錦、人聲如沸秉沼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽唬复。三九已至矗积,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敞咧,已是汗流浹背棘捣。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留休建,地道東北人乍恐。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像丰包,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壤巷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫邑彪、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,121評(píng)論 4 61
  • 全篇目錄:十八米——目錄 上一章:十八米--男孩篇1 初始 畢業(yè)了以后男孩和女孩各自去了不一樣的學(xué)校胧华,兩個(gè)不一樣的...
    花癡小姐愛擼貓閱讀 521評(píng)論 0 1
  • 春雷驚蟄 鼓點(diǎn)舒暢 風(fēng)吹雨欲動(dòng) 常常想不懂 她不怕雷 她不怕我 她什么都不怕 這是被劈過多少次的絕望 一身鎧甲 源...
    橙子葉閱讀 155評(píng)論 0 0
  • 不得不說白渣男寄症,我靠宙彪,簡(jiǎn)直就是渣男中的極品!騙了小蚯蚓有巧,還自砸電腦释漆、iPad報(bào)警污蔑樊姐,這狗日的篮迎,還故意刁難小...
    莉莉安lilianan閱讀 257評(píng)論 0 0
  • 一般驗(yàn)證方法都是獲取到textarea然后判斷它的字符串長度男图,這樣確實(shí)是可以驗(yàn)證的,但是它有一個(gè)問題就是甜橱,如果用戶...
    skills閱讀 596評(píng)論 0 0