<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JXCategoryView的使用總結

      一、初始化

      -(JXCategoryTitleView *)categoryView{
          if (!_categoryView) {
              _categoryView = [[JXCategoryTitleView alloc] init];
              _categoryView.delegate = self;
              _categoryView.titleDataSource = self;
              _categoryView.averageCellSpacingEnabled = NO; //是否平均分配項目之間的間距
              _categoryView.contentEdgeInsetLeft = 24; //靠左顯示的邊距
              _categoryView.titleLabelVerticalOffset = -5; //標題向上偏移
              _categoryView.cellSpacing = 32; //固定分類項之前的間距
              _categoryView.titles = @[];
              _categoryView.defaultSelectedIndex = 0; //默認選中
              _categoryView.titleColor = RGBA(119, 119, 119, 1);           //默認文字顏色
              _categoryView.titleSelectedColor = RGBA(51, 51, 51, 1);   //文字選擇顏色
              _categoryView.backgroundColor = [UIColor clearColor];
              _categoryView.titleFont = AppFont(16);
              _categoryView.titleSelectedFont = AppBoldFont(16);
              
              //底部指示器
              JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
              lineView.verticalMargin = 10; //默認底部,越大越向上偏移
              lineView.indicatorHeight = 3; //指示器高度
              lineView.indicatorCornerRadius = 0; //是否倒圓角
              lineView.indicatorColor = RGBA(72, 142, 255, 1); //指示器顏色
              lineView.indicatorWidth = 24; //指示器寬度
              lineView.scrollStyle = JXCategoryIndicatorScrollStyleSameAsUserScroll; //指示器滾動樣式
              _categoryView.indicators = @[lineView]; 
          
          }
          return _categoryView;
      }
      

      二、關聯listContainerView

      • listContainerView 創建
      -(JXCategoryListContainerView *)listContainerView{
          if (!_listContainerView) {
              _listContainerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
              _listContainerView.scrollView.scrollEnabled = YES;
          }
          return _listContainerView;
      }
      
      • 與categoryView 建立關聯
      self.categoryView.listContainer = self.listContainerView;
      
      • 實現listContainerView 代理
      
      //子控制器數組
      - (NSArray<__kindof UIViewController *> *)controllers{
          return @[
              self.VC1,
              self.VC2,
          ];
      }
      
      
      
      #pragma mark - JXCategoryListContainerViewDelegate -
      - (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
          __kindof UIViewController *vc  = self.controllers[index];
          return vc;
      }
      - (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
          return self.controllers.count;
      }
      
      //定義scrollerview處理手勢沖突
      - (Class)scrollViewClassInlistContainerView:(JXCategoryListContainerView *)listContainerView{
          return [ServiceScrollView class];
      }
      
      

      三、titles 重載

      可以在初始化時指定titles屬性賦值, 如果需要動態顯示titles, 則可以在處理后,通過 reloadData 進行重載

      • 初始化時指定
      _categoryView.titles = @[@"項目1",@"項目2"];
      
      • 動態處理
      NSArray *titles;
      if (xxx) {
      	titles = @[@"項目1",@"項目2"];
      }else {
      	titles = @[@"禮物1",@"禮物2"];
      }
      _categoryView.titles = titles;
      [_categoryView reloadData];
      

      四、設置指定項被選中

      [self.categoryView selectItemAtIndex:0];
      

      五、代理方法

      #pragma mark - JXCategoryViewDelegate -
      
      //點擊選中的情況才會調用該方法
      - (void)categoryView:(JXCategoryBaseView *)categoryView didClickSelectedItemAtIndex:(NSInteger)index {
          
      }
      
      

      六、listContentView 需實現 listView 方法

      
      @protocol JXCategoryListContentViewDelegate <NSObject>
      
      /**
       如果列表是VC,就返回VC.view
       如果列表是View,就返回View自己
      
       @return 返回列表視圖
       */
      - (UIView *)listView;
      
      @optional
      
      /**
       可選實現,列表將要顯示的時候調用
       */
      - (void)listWillAppear;
      
      /**
       可選實現,列表顯示的時候調用
       */
      - (void)listDidAppear;
      
      /**
       可選實現,列表將要消失的時候調用
       */
      - (void)listWillDisappear;
      
      .....
      

      根據協議聲明來看, listView方法需要協議的實現者必須 實現才可以。 因為它是 @required (不指定,則為默認)聲明的

      #pragma mark - JXCategoryListContainerViewDelegate -
      - (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
          __kindof UIViewController *vc  = self.controllers[index];
          return vc;
      }
      

      - (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index 這個回調需要返回實現了 JXCategoryListContentViewDelegate 的對象(一般是viewController)

      @implementation MyContentViewController 
      
      //實現 JXCategoryListContentViewDelegate 的代理方法
      - (UIView *)listView{
          return self.view;
      }
      
      @end
      
      posted @ 2024-06-25 15:26  reyzhang  閱讀(1168)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 人妻少妇| 香港日本三级亚洲三级| 午夜成人精品福利网站在线观看| 婷婷色爱区综合五月激情韩国| 久久国产自偷自免费一区| 国产香蕉一区二区三区在线视频| 兴文县| 亚洲精品国产摄像头| 视频一本大道香蕉久在线播放| 在线播放亚洲成人av| 日本一区三区高清视频| 狠狠色丁香婷婷亚洲综合| 欧美性猛交xxxx乱大交极品| a级黑人大硬长爽猛出猛进| 国产精品久久久久久久久电影网| 亚洲中文字幕无码日韩精品| 精品国产美女福到在线不卡| 青青青爽在线视频观看| a4yy私人毛片| www射我里面在线观看| 亚洲国产另类久久久精品| 国产成人午夜福利院| 男女一边摸一边做爽爽| 九九热视频精品在线播放| 日本一卡二卡3卡四卡网站精品 | 亚洲爆乳少妇无码激情| gogogo高清在线播放免费| 亚洲中文字幕第二十三页| 精品综合一区二区三区四区| 国产精品日韩中文字幕| 成年女人黄小视频| 少妇人妻偷人精品无码视频新浪| 老太脱裤子让老头玩xxxxx| 无码国模国产在线观看免费| 久久国内精品一国内精品| 久久婷婷成人综合色综合| 色丁香一区二区黑人巨大| 久久婷婷五月综合97色直播| 城口县| 国产欧美精品一区二区三区-老狼| 高潮迭起av乳颜射后入|