分頁菜單SPPageMenu使用說明書

SPPageMenugithub地址:https://github.com/SPStore/SPPageMenu

一、cocopods導(dǎo)入

platform:ios,'8.0'
target 'MyApp' do
  pod 'SPPageMenu', '~> 3.5.0'
end

二、 效果演示圖

(演示圖中僅展示了部分功能,更多功能請進(jìn)入github下載源代碼,如果您的網(wǎng)絡(luò)較慢,gif圖可能會延遲加載,您可以先把寶貴的時(shí)間瀏覽其它信息)

Untitled.gif

三、 重難點(diǎn)方法和屬性詳解

// 這個(gè)方法用于傳遞數(shù)據(jù),items里面可以是NSString、UIImage 或SPPageMenuButtonItem類型,每個(gè)item會根據(jù)傳的元素類型自動展示你要的內(nèi)容;selectedItemIndex是選中的item下標(biāo),selectedItemIndex不可超過 items的范圍
- (void)setItems:(nullable NSArray *)items selectedItemIndex:(NSUInteger)selectedItemIndex;
A46F678B-C330-4971-993B-C2AA048C98A6.jpeg
//  這個(gè)屬性命名為“橋梁scrollView”,當(dāng)外界的scrollView在左右切換的時(shí)候,需要讓跟蹤器時(shí)刻跟隨該scrollView滾動,bridgeScrollView就是外界左右切換的scrollView。只要bridgeScrollView有值了,SPPageMenu會監(jiān)聽bridgeScrollView的滾動狀態(tài),從而讓跟蹤器有跟隨效果。如果你忘了設(shè)置這個(gè)屬性或者覺得不好,你還可以在scrollViewDidScroll的代理方法中,調(diào)用SPPageMenu的接口“- (void)moveTrackerFollowScrollView:(UIScrollView *)scrollView”。
@property (nonatomic, strong) UIScrollView *bridgeScrollView;
// 排列方式:支持3種排列方式;1、可滑動,按鈕寬度根據(jù)內(nèi)容自適應(yīng);2、不可滑動,按鈕等寬;3、不可滑動,按鈕寬度根據(jù)內(nèi)容自適應(yīng)。3種排列方式都有非常高的使用頻率。第1種排列方式:SPPageMene的容量會根據(jù)按鈕個(gè)數(shù)而定;第2種和第3種排列方式:SPPageMenu的容量固定為SPPageMenu的寬度
@property (nonatomic, assign) SPPageMenuPermutationWay permutationWay; 
  • 排列方式一:SPPageMenuPermutationWayScrollAdaptContent


    5ADC4C3A2C55E428CB93E627108AD19B.jpg
  • 排列方式二:SPPageMenuPermutationWayNotScrollEqualWidths


    795A7E94AB1D002B026A7EB346599CE5.jpg
  • 排列方式三:SPPageMenuPermutationWayNotScrollAdaptContent


    C3EEA99CD066F43DD5CCAEBCBD0D8C76.jpg
// 跟蹤器跟蹤模式;這個(gè)屬性從3.4版本開始閃亮登場。該屬性是個(gè)枚舉,共3個(gè):1、SPPageMenuTrackerFollowingModeAlways,這個(gè)枚舉值的意思是讓跟蹤器時(shí)刻跟隨外界scrollView(即bridgeScrollView)橫向移動; 2、SPPageMenuTrackerFollowingModeEnd,這個(gè)枚舉的意思是當(dāng)外界scrollView滑動結(jié)束時(shí),跟蹤器才開始移動;相當(dāng)于3.4版本之前的closeTrackerFollowingMode屬性 3、SPPageMenuTrackerFollowingModeHalf,這個(gè)枚舉的意思是當(dāng)外界scrollView拖動距離超過屏幕一半時(shí),跟蹤器開始移動。
@property (nonatomic, assign) SPPageMenuTrackerFollowingMode trackerFollowingMode;

請大家仔細(xì)觀察跟蹤器(按鈕下面的下劃線)開始移動的時(shí)刻

  • 跟蹤模式一:SPPageMenuTrackerFollowingModeAlways


    always.gif
  • 跟蹤模式二:SPPageMenuTrackerFollowingModeEnd


    end.gif
  • 跟蹤模式三:SPPageMenuTrackerFollowingModeHalf


    half.gif
//  這個(gè)屬性是設(shè)置內(nèi)容的四周邊距,例如如果你想讓跟蹤器距離底部分割線有一段距離,你就可以設(shè)置contentInset的底部間距,這里指的內(nèi)容是不包括底部分割線的。
@property (nonatomic, assign) UIEdgeInsets contentInset;

下面截圖是設(shè)置pageMenu.contentInset = UIEdgeInsetsMake(0, 50, 0, 50)的結(jié)果,綠色為SPPageMenu的背景色,黃色部分是內(nèi)容

1391991C798B9E6DA6345401EE03A227.jpg

// // 設(shè)置指定item的四周內(nèi)邊距,這和上面那個(gè)屬性不一樣,上面的屬性contentInset作用對象是SPPageMenu整個(gè)控件,而這個(gè)方式作用對象是SPPageMenu里的一個(gè)按鈕
- (void)setContentEdgeInsets:(UIEdgeInsets)contentEdgeInsets forItemAtIndex:(NSUInteger)itemIndex;
//  這個(gè)方法在描述bridgeScrollView的時(shí)候有提到過,在外界的scrollViewDidScroll代理方法中調(diào)用,可以讓跟蹤器時(shí)刻跟隨scrollView滑動,如果bridgeScrollView已經(jīng)賦過值,那這個(gè)方法就沒必要去調(diào)用了。
- (void)moveTrackerFollowScrollView:(UIScrollView *)scrollView;
以上介紹的屬性和方法只是部分的,其余屬性和方法相對簡單,框架中也有非常詳細(xì)的注釋,這里就不再多做介紹

四、 適用場景

網(wǎng)易新聞

A7FD723F-E458-437A-AD3F-D990C8F49C26.jpeg

愛奇藝

09145AB7-9FA8-4442-8E66-28A5D02EB4A6.jpeg

微博

8D4F4543-97C8-43AB-A6ED-152ACC35429D.jpeg

淘寶

8663770C-5DB5-4100-B53D-870B3E007CE8.jpeg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,348評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,083評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,442評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,802評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,983評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,542評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,287評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,486評論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,710評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,224評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,462評論 2 378

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,720評論 25 708
  • 經(jīng)過時(shí)間的焠煉,很怕當(dāng)我們老去時(shí),彼此陷入相守不相知,無話可說的境地。
    赳赳嘚小象閱讀 89評論 0 0
  • 其實(shí)只要為按鈕自定義一個(gè)類,重寫下面的幾個(gè)方法即可,具體要調(diào)到什么位置都可以自己在返回CGRectMake中調(diào)整,...
    不瘋魔難以成佛閱讀 618評論 0 0
  • 迷迷糊糊的背了一天,還好吧這感覺。 果然有的事注定是你的就一定逃不掉,比如看見柳方舟那可真真是三次啊!比如看群里的...
    大象大象你別躲閱讀 188評論 0 0
  • 朝九晚五的生活是職場里的人所向往的,然而當(dāng)自己朝九晚五的時(shí)候,我只有一個(gè)感覺,那就是,好累啊。 我每天去培訓(xùn)的動力...
    小小霸王君閱讀 277評論 0 0