iOS多項(xiàng)選項(xiàng)卡TYTabPagerBar和分頁控制器TYPagerController使用小結(jié)

最近做項(xiàng)目的時(shí)候开财,用到了頂部選項(xiàng)卡和底部分頁控制器相關(guān)的功能。之前做的話都是自己手動(dòng)封裝论巍,通過兩個(gè)UIScrollView聯(lián)動(dòng)來實(shí)現(xiàn)兆衅。公司同事給推薦了一個(gè)封裝好的庫地沮,

TYPagerController,內(nèi)部也是通過ScrollView的聯(lián)動(dòng)來實(shí)現(xiàn)的羡亩,不過功能確實(shí)很強(qiáng)大摩疑。有幸研究使用了一下,小結(jié)分享備用畏铆。
image

第一步雷袋,當(dāng)然是導(dǎo)入相應(yīng)的庫文件,引用相關(guān)的頭文件

#import <TYPagerController/TYPagerController.h>

#import <TYPagerController/TYTabPagerBar.h>

辞居,現(xiàn)在用的多的是pod導(dǎo)入楷怒;

第二步,就是具體的用法了瓦灶。引入相關(guān)的協(xié)議鸠删,定義實(shí)例變量。

@property (nonatomic, strong) TYTabPagerBar *tabPagerBar;

@property (nonatomic, strong) TYPagerController *pagerController;

-(TYTabPagerBar *)tabPagerBar{

//頂部bar

if (!_tabPagerBar) {

    _tabPagerBar = [[TYTabPagerBar alloc]init];

    _tabPagerBar.layout.barStyle = TYPagerBarStyleProgressElasticView;

    _tabPagerBar.layout.cellSpacing = 20;

    _tabPagerBar.layout.cellEdging = 0;

    _tabPagerBar.layout.normalTextFont = K_CC_FONT(16);

    _tabPagerBar.layout.selectedTextFont = K_CC_FONT_SEMIBOLD(18);

    _tabPagerBar.layout.normalTextColor = K_CC_COLOR_STRING(@"#666666");

    _tabPagerBar.layout.selectedTextColor = K_CC_COLOR_STRING(@"#6294FF");//K_CC_COLOR_BLUE;

    _tabPagerBar.layout.adjustContentCellsCenter = YES;

    _tabPagerBar.layout.progressColor = K_CC_COLOR_STRING(@"#6294FF");

    _tabPagerBar.layout.textColorProgressEnable=YES;

    _tabPagerBar.dataSource = self;

    _tabPagerBar.delegate = self;

    [_tabPagerBar registerClass:[TYTabPagerBarCell class] forCellWithReuseIdentifier:[TYTabPagerBarCell cellIdentifier]];

}

return _tabPagerBar;

}

-(TYPagerController *)pagerController{

//內(nèi)容controller

if (!_pagerController) {

    _pagerController = [[TYPagerController alloc]init];

    _pagerController.layout.prefetchItemCount = 0;//預(yù)加載個(gè)數(shù)

    //pagerController.layout.autoMemoryCache = NO;

    // 只有當(dāng)scroll滾動(dòng)動(dòng)畫停止時(shí)才加載pagerview贼陶,用于優(yōu)化滾動(dòng)時(shí)性能

    _pagerController.layout.addVisibleItemOnlyWhenScrollAnimatedEnd = YES;

    _pagerController.automaticallySystemManagerViewAppearanceMethods = NO;

    _pagerController.dataSource = self;

    _pagerController.delegate = self;

    _pagerController.view.backgroundColor = K_CC_GRAY_BG_COLOR;

    _pagerController.scrollView.backgroundColor = K_CC_GRAY_BG_COLOR;

}

return _pagerController;

}

  • (UIViewController *)pagerController:(TYPagerController *)pagerController controllerForIndex:(NSInteger)index prefetching:(BOOL)prefetching {

    CCHighSeasPoolListViewController *VC = [[CCHighSeasPoolListViewController alloc]init];

    //此處需要區(qū)分普通用戶和管理員

    if ([self.marketSeaRole isEqualToString:@"normal"]) {

      if (index== 0) {
    
          VC.condition=@"未分配";
    
      }else if (index== 1) {
    
          VC.condition=@"已分配";
    
      }else if (index== 2) {
    
          //客戶公海池
    
          if ([self.itemtitle isEqualToString:@"acf202011accmksea"]) {
    
              VC.condition=@"已成交";
    
          }else{
    
              VC.condition=@"已成交";
    
          }
    
      }else {
    
          VC.condition=@"自建";
    
      }
    

    }else{//管理員

      if (index== 0) {
    
          VC.condition=@"未分配";
    
      }else if (index== 1) {
    
          VC.condition=@"已分配";
    
      }else if (index== 2) {
    
          VC.condition=@"已廢棄";
    
      }else if (index== 3) {
    
          //客戶公海池
    
          if ([self.itemtitle isEqualToString:@"acf202011accmksea"]) {
    
              VC.condition=@"已成交";
    
          }else{
    
              VC.condition=@"已成交";
    
          }
    
      }else {
    
          VC.condition=@"自建";
    
      }
    

    }

    VC.itemtitle=self.itemtitle;

    CCMoreListModel *moreModel=[self.dataSeasList objectAtIndex:self.currentSeasItem];

    VC.marketSeaId=moreModel.ID;

    VC.dataButtonList=self.dataButtonList;

    VC.dataSeasLeftList=self.dataSeasLeftList;

    VC.querysize=self.querysize;

    VC.marketSeaRole=self.marketSeaRole;

    VC.dataSeasPoolList=self.dataSeasList;

    return VC;

}

最核心的地方基本就是這些刃泡,它強(qiáng)大的地方有三點(diǎn),一是我可以上下聯(lián)動(dòng)碉怔,并返回當(dāng)前選中項(xiàng)索引烘贴,可以通過通知刷新相關(guān)聯(lián)的頁面;二是我可以動(dòng)態(tài)的設(shè)置頂部選項(xiàng)卡的個(gè)數(shù)撮胧,對(duì)應(yīng)文本的大小和顏色桨踪;三是,底部可以加載view或者controller芹啥。使用過程中遇到的問題主要是锻离,當(dāng)前版本庫里面選中項(xiàng)對(duì)應(yīng)的加粗屬性铺峭,作者用錯(cuò)變量了,需要去庫文件手動(dòng)改一下纳账;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末逛薇,一起剝皮案震驚了整個(gè)濱河市捺疼,隨后出現(xiàn)的幾起案子疏虫,更是在濱河造成了極大的恐慌,老刑警劉巖啤呼,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卧秘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡官扣,警方通過查閱死者的電腦和手機(jī)翅敌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惕蹄,“玉大人蚯涮,你說我怎么就攤上這事÷袅辏” “怎么了遭顶?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泪蔫。 經(jīng)常有香客問我棒旗,道長,這世上最難降的妖魔是什么撩荣? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任铣揉,我火速辦了婚禮,結(jié)果婚禮上餐曹,老公的妹妹穿的比我還像新娘逛拱。我一直安慰自己,他們只是感情好台猴,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布朽合。 她就那樣靜靜地躺著,像睡著了一般卿吐。 火紅的嫁衣襯著肌膚如雪旁舰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天嗡官,我揣著相機(jī)與錄音箭窜,去河邊找鬼。 笑死衍腥,一個(gè)胖子當(dāng)著我的面吹牛磺樱,可吹牛的內(nèi)容都是我干的纳猫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼竹捉,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼芜辕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起块差,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤侵续,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后憨闰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體状蜗,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年鹉动,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了轧坎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泽示,死狀恐怖缸血,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情械筛,我是刑警寧澤捎泻,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站变姨,受9級(jí)特大地震影響族扰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜定欧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一渔呵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砍鸠,春花似錦扩氢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至饭弓,卻和暖如春双饥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弟断。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工咏花, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓昏翰,卻偏偏與公主長得像苍匆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棚菊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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