iOS 工作笔记之PKRevealController和UIScrollView,UITableView的配合使用


                          


如上图,项目是一个类似网易新闻的项目。这个叫潮流资讯的视图控制器界面的组成是这样的,(美容,服饰,明星等)按钮是放在一个UIScrollView上面的。这个UIScrollView add到了self.view上面。 下面展示新闻的使用的是一个UITableView。想达到的效果是用手点击(美容,服饰,明星等)按钮,下面的UITableView上显示的内容跟随按钮的变化而变化,如果当前在明星频道,用手滑动内容,左面滑动,就显示服饰内容,右面滑动就显示情感内容,当滑到第一页或者是最后一页的时候,在滑动就显示侧边栏。

开始的思路是在一个UIScrollView上面加上多个UITableView,这样滑动UIScrollView的时候,UIScrollView 不同的偏移量显示不同的UITableView。这个思路可以,但是滑动到左右边界的时候,再滑动,侧边栏不会出现。

仔细研究了一下PKRevealController,发现正常情况下,PKRevealController是通过UIPanGestureRecognizer来达到左右侧滑的效果的。但是如果加上了一个UIScrollView,UIScrollView在滚动的时候,会中断PKRevealController的UIPanGestureRecognizer。所以需要利用UIScrollView中得PanGestureRecognizer,代码如下

-(void)scrollHandlePan:(UIPanGestureRecognizer*) panParam
{
    if(_rlScrollView.contentOffset.x<=0)
    {
        [[RLWAppDelegate appDelegate].revealController didRecognizePanWithGestureRecognizer:panParam];
        
    }
    else if (_rlScrollView.contentOffset.x >=(_rlScrollView.contentSize.width - _rlScrollView.frame.size.width))
    {
        [[RLWAppDelegate appDelegate].revealController didRecognizePanWithGestureRecognizer:panParam];
    }
    
}

然后需要把PKRevealController中的私有方法
didRecognizePanWithGestureRecognizer
改成公有方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值