您的位置:首页 > 其它

网易首页导航封装类优化

2016-01-11 18:12 281 查看
上一博客写了手势代理,在之前也写了个网易首页导航封装类,对它进行优化。

1.每次使用网易首页导航封装类中的MainViewController时,MainViewController的导航栏可能每个页面都不一样,这样可以抽象出一个基类,基类中实现ViewController的创建。使用时继承这个基类,可以设置导航栏。



2.手势返回优化

上一项目胖吴货站做的只有一个MainViewController且为根,所以没有右滑返回的问题,这个闪购订单是被push进来的,所以需要有右滑返回的功能。由于MainViewControll中的ScrollView,这样就使得右滑返回手势和ScrollView的手势重合,这样就识别不了导航栏右滑返回。

解决这个问题的方法是在MainViewController中设置

self.navigationController.interactivePopGestureRecognizer.enabled=YES;
self.navigationController.interactivePopGestureRecognizer.delegate=self;


- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
if (self.bottomScrollView.contentOffset.x<0.0&&otherGestureRecognizer.class==[UIScreenEdgePanGestureRecognizer class]) {
return YES;
}
return NO;
}


上面的代理方法在上一博客也有说明,这个方法返回值是用来表示手势是否共存的。只要返回YES,另外就不用管了,因为共存,所以共存,共同响应.也就是说两个gesture recognizers的delegate方法只要任意一个返回YES,则这两个就可以同时识别;只有两个都返回NO的时候,才是互斥的。默认情况下是返回NO。

附之前博客:网易首页导航封装类博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: