iOS 快速集成頭部菜單欄

最近遇到很吸引我的代碼幌缝,效果就是這種類似新聞APP的頂部滾動(dòng)菜單欄:

效果

segmentHeader.gif

功能

  • 快速集成頂部菜單欄
  • 拆分為SegementHead和SegmentScroll灭将,分別設(shè)置頭部視圖和下方滾動(dòng)視圖管闷。
  • 使用NSCache統(tǒng)計(jì)頁面加載

樣式

//頭部樣式
typedef enum: NSUInteger{
    /**
     *  默認(rèn)
     */
    SegmentHeadStyleDefault,
    /**
     *  line(下劃線)
     */
    SegmentHeadStyleLine,
    /**
     *  arrow(箭頭)
     */
    SegmentHeadStyleArrow,
    /**
     *  slide(滑塊)
     */
    SegmentHeadStyleSlide
}LGJSegmentHeadStyle;

/**
 *  分割樣式遏考,默認(rèn)均分捂人,其他樣式按照標(biāo)題長度計(jì)算
 */
typedef enum: NSUInteger{
    /**
     *  默認(rèn)均分逐纬,根據(jù)maxTitles計(jì)算寬度蛔屹,均分
     */
    LGJSegmentLayoutDefault,
    /**
     *  居中(標(biāo)題不足一屏?xí)r選擇樣式,反之設(shè)置后按照居左)
     */
    LGJSegmentLayoutCenter,
    /**
     *  居左
     */
    LGJSegmentLayoutLeft
} LGJSegmentLayoutStyle;

使用

  • 將LGJSegmentPageView 拖入工程中
  • 默認(rèn)設(shè)置
_segHead = [[LGJSegmentHead alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, 40) titles:list headStyle:_style layoutStyle:_layout];
    _segHead.fontScale = 1.1;
    _segHead.showIndex = 4;
    
    _segScroll = [[LGJSegmentScroll alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(_segHead.frame), SCREEN_WIDTH, SCREEN_HEIGHT-CGRectGetMaxY(_segHead.frame)) vcOrViews:[self vcArr:list.count]];
    _segScroll.loadAll = YES;
    
    [LGJSegmentManager associateHead:_segHead withScroll:_segScroll completion:^{
        [self.view addSubview:_segHead];
        [self.view addSubview:_segScroll];
    }];

滑動(dòng)中加載頁面

  • 默認(rèn)設(shè)置為第一次進(jìn)入只加載當(dāng)前顯示的頁面豁生,即segScroll.loadAll = NO;
  • 默認(rèn)滑動(dòng)過程中最大緩存頁面是所有頁面即 segScroll.countLimit = vcsOrviews.count;segScroll.loadAll = YES;

自定義菜單欄樣式

/**
 *  選擇狀態(tài)下的顏色兔毒,完全自定義樣式下可不設(shè)置
 */
@property (nonatomic, strong) UIColor *selectColor;
/**
 *  未選中狀態(tài)下的顏色,完全自定義樣式下可不設(shè)置
 */
@property (nonatomic, strong) UIColor *deSelectColor;
/**
 *  字體的大小甸箱,完全自定義樣式下可不設(shè)置
 */
@property (nonatomic, assign) CGFloat fontSize;
/**
 *  選中狀態(tài)的縮放比例育叁,segmentHeadStyleSlide風(fēng)格下此屬性無用,設(shè)置縮放比例滑動(dòng)過程中會(huì)有相應(yīng)動(dòng)畫
 */
@property (nonatomic, assign) CGFloat fontScale;

其他樣式設(shè)置

/**
 *  下劃線的顏色
 */
@property (nonatomic, strong) UIColor *lineColor;
/**
 *  下劃線高度
 */
@property (nonatomic, assign) CGFloat lineHeight;
/**
 *  下劃線相對(duì)于正常狀態(tài)下的百分比 默認(rèn)為1
 */
@property (nonatomic, assign) CGFloat lineScale;
/*------------箭頭風(fēng)格------------*/
/**
 *  箭頭的顏色
 */
@property (nonatomic, strong) UIColor *arrowColor;
/*------------滑塊風(fēng)格------------*/
/**
 *  滑塊的顏色
 */
@property (nonatomic, strong) UIColor *slideColor;
/**
 *  滑塊的高度
 */
@property (nonatomic, assign) CGFloat slideHeight;
/**
 *  滑塊的圓角大小
 */
@property (nonatomic, assign) CGFloat slideCorner;
/**
 *  滑塊相對(duì)于正常狀態(tài)下的百分比芍殖,默認(rèn)為1
 */
@property (nonatomic, assign) CGFloat slideScale;

/**
 *  頂部導(dǎo)航欄下方的邊線
 */
@property (nonatomic, assign) CGFloat bottomLineHeight;
@property (nonatomic, strong) UIColor *bottomLineColor;
其余用法見代碼詳情

這個(gè)是我看見別人的寫的感覺效果挺好的豪嗽,而且思路很清晰,然后我自己對(duì)照著手敲了以便加深領(lǐng)會(huì)豌骏,想學(xué)一下人家的思想龟梦,也是作為自己的技術(shù)積累,不得不說原作者的思路真的是不錯(cuò)窃躲,我也是還沒有完全理解计贰,還是要多向原作者學(xué)習(xí),在這里放上代碼鏈接蒂窒。(侵權(quán)刪)
LGJSegmentHeaderView
原作者地址:
https://github.com/MengLiMing
https://github.com/MengLiMing/MLMSegmentPage.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末躁倒,一起剝皮案震驚了整個(gè)濱河市赎婚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌樱溉,老刑警劉巖挣输,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異福贞,居然都是意外死亡撩嚼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門挖帘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來完丽,“玉大人,你說我怎么就攤上這事拇舀÷咦澹” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵骄崩,是天一觀的道長聘鳞。 經(jīng)常有香客問我,道長要拂,這世上最難降的妖魔是什么抠璃? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮脱惰,結(jié)果婚禮上搏嗡,老公的妹妹穿的比我還像新娘。我一直安慰自己拉一,他們只是感情好采盒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蔚润,像睡著了一般磅氨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抽碌,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天悍赢,我揣著相機(jī)與錄音,去河邊找鬼货徙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛皮胡,可吹牛的內(nèi)容都是我干的痴颊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼屡贺,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼蠢棱!你這毒婦竟也來了锌杀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤泻仙,失蹤者是張志新(化名)和其女友劉穎糕再,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玉转,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡突想,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了究抓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猾担。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刺下,靈堂內(nèi)的尸體忽然破棺而出绑嘹,到底是詐尸還是另有隱情,我是刑警寧澤橘茉,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布工腋,位于F島的核電站,受9級(jí)特大地震影響畅卓,放射性物質(zhì)發(fā)生泄漏夷蚊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一髓介、第九天 我趴在偏房一處隱蔽的房頂上張望惕鼓。 院中可真熱鬧,春花似錦唐础、人聲如沸箱歧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呀邢。三九已至,卻和暖如春豹绪,著一層夾襖步出監(jiān)牢的瞬間价淌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工瞒津, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝉衣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓巷蚪,卻偏偏與公主長得像病毡,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屁柏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

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

  • iOS開發(fā)系列--網(wǎng)絡(luò)開發(fā) 概覽 大部分應(yīng)用程序都或多或少會(huì)牽扯到網(wǎng)絡(luò)開發(fā)啦膜,例如說新浪微博有送、微信等,這些應(yīng)用本身可...
    lichengjin閱讀 3,644評(píng)論 2 7
  • *7月8日上午 N:Block :跟一個(gè)函數(shù)塊差不多僧家,會(huì)對(duì)里面所有的內(nèi)容的引用計(jì)數(shù)+1雀摘,想要解決就用__block...
    炙冰閱讀 2,477評(píng)論 1 14
  • 今天學(xué)校舉行了一年一度的畢業(yè)典禮,好巧八拱,又是一個(gè)下雨天阵赠,冒著雨開畢業(yè)典禮的他們會(huì)不會(huì)心里也會(huì)下雨,離開了學(xué)習(xí)...
    一枚資深小吃貨閱讀 252評(píng)論 0 1
  • 你的訴說 他的冷漠 你的世界你不懂 他的世界又離你太遙遠(yuǎn) 于2016.10.01
    何時(shí)再出發(fā)閱讀 160評(píng)論 0 0
  • 文/子諾不離 幾天前的下班路上乘粒,偶遇一位朋友也在健走豌注,于是大家邊走邊聊。聊著聊著灯萍,這位朋友突然感嘆“女人最重要的是...
    子諾不離閱讀 812評(píng)論 6 7