1. 程式人生 > >iOS 仿照今日頭條 實現的滾動表格 XLSlideSwitch

iOS 仿照今日頭條 實現的滾動表格 XLSlideSwitch

一、實現效果

       

二、原理說明

上面標題部分是通過UICollectionView實現的;

下面滾動部分是通過UIPageViewController實現的;

三、程式碼說明

1、建立方法

-(void)buildUI
{
    //初始化要顯示的Viewcontroller
    NSMutableArray *viewControllers = [NSMutableArray new];
    NSArray *titles = @[@"今天",@"是個",@"好日子",@"心想的",@"事兒",@"都能成",@"明天",@"是個",@"好日子",@"打開了家門",@"咱迎春風",@"~~~"];
    for (int i = 0 ; i<titles.count; i++) {
        TestViewController *vc = [TestViewController new];
        vc.title = titles[i];
        [viewControllers addObject:vc];
    }
    _slideSwitch = [[XLSlideSwitch alloc] initWithFrame:CGRectMake(0, 64, self.view.bounds.size.width, self.view.bounds.size.height - 64)];
    _slideSwitch.delegate = self;
    //設定按鈕選中顏色
    _slideSwitch.btnSelectedColor = RGB(212, 61, 61);
    //設定按鈕正常顏色
    _slideSwitch.btnNormalColor = RGB(34, 34, 34);
    //設定要顯示的檢視控制器
    _slideSwitch.viewControllers = viewControllers;
    //新增到父檢視
    [self.view addSubview:_slideSwitch];
}


2、代理方法

//當選中某一個tab時呼叫,可以通過viewcontroller的viewWillAppear方法進行資料重新整理等操作
-(void)slideSwitchDidselectTab:(NSUInteger)index
{
    UIViewController * vc = _slideSwitch.viewControllers[index];
    [vc viewWillAppear:YES];
}