美文网首页
SlideViewForFilter ,类京东的侧滑筛选demo

SlideViewForFilter ,类京东的侧滑筛选demo

作者: 邋了个遢 | 来源:发表于2016-10-14 21:08 被阅读293次

    话说这个人啊, 真的是容易懒,今天你真不知道改写什么了,突然想起来之前用过的一个筛选控件, 搬出来晒一波,万一有需要的大兄弟呢.

    项目中的效果


    20CF1422-4E33-45BD-AE77-AD50E3C45CEE.png

    原demo


    filterS.gif

    这个是弹出的事件

    - (IBAction)filterAction:(id)sender {
        //侧滑FilterSlideViewController
        _slidebarVC = [[FilterSlideDataViewController alloc] init];
        _slidebarVC.view.frame  = [UIScreen mainScreen].bounds;
        [self.view addSubview:_slidebarVC.view];
        [_slidebarVC showHideSidebar];
        
        __weak typeof(self) weakSelf = self;
         //通过block 传出去
        _slidebarVC.backBlock = ^(id backData){
            if ([NSString stringWithFormat:@"%@",backData].length) {
                weakSelf.label.text = backData;
            }
        };
    
    

    FilterSlideDataViewController中, _backBlock回传需要的值.

    - (void)showHideSidebar{
        if (self.contentView.frame.origin.x == kSBWidth) {
            startContentOriginX = self.contentView.frame.origin.x;
        }
        [self autoShowHideSidebar];
    }
    
    #pragma mark Private
    - (void)autoShowHideSidebar
    {
        if (!self.isSidebarShown){
    //        NSLog(@"自动弹出");
            self.view.hidden = NO;
            [UIView animateWithDuration:duration animations:^{
                [self setSidebarOriginX:kSBWidth - kSidebarWidth];
            } completion:^(BOOL finished) {
                _isMoving = NO;
                [self sidebarDidShown];
            }];
        }else{
    //        NSLog(@"自动缩回");
            [UIView animateWithDuration:duration animations:^{
                [self setSidebarOriginX:kSBWidth];
            } completion:^(BOOL finished) {
                _isMoving = NO;
                self.view.hidden = YES;
                [self slideToRight];
            }];
        }
    }
    
    

    将得到的数据回传

    //父类方法,当slidebar隐藏时调用
    - (void)slideToRight{
        _backBlock([NSString stringWithFormat:@"%@%@",_choosedProvince,_choosedCity]);
    }
    

    比较好改
    父子控制器.
    看一下源码就懂了

    直接贴github地址了,按需索取.
    https://github.com/wingsrao/SlideViewForFilter

    最后 感谢大神.

    p.s 略累,所以没多写.

    相关文章

      网友评论

          本文标题:SlideViewForFilter ,类京东的侧滑筛选demo

          本文链接:https://www.haomeiwen.com/subject/kahnyttx.html