ios7点击statusBar返回列表顶部

来源:互联网 发布:mysql端口修改 编辑:程序博客网 时间:2024/04/28 04:34

ios7中增加了两个新功能

1,点击statusBar,返回列表顶部

2,右滑返回上一级界面

以上两个功能在xcode5中创建的工程是默认开启的,若不生效,则需要review一下自己的代码。

这两个功能需要改动的地方不多

1,

[objc] view plaincopy
  1. // When the user taps the status bar, the scroll view beneath the touch which is closest to the status bar will be scrolled to top, but only if its `scrollsToTop` property is YES, its delegate does not return NO from `shouldScrollViewScrollToTop`, and it is not already at the top.  
  2. // On iPhone, we execute this gesture only if there's one on-screen scroll view with `scrollsToTop` == YES. If more than one is found, none will be scrolled.  
  3. @property(nonatomicBOOL  scrollsToTop;          // default is YES.  
以上注释的意思是将tableView的scrollsToTop属性设置为YES.同时

[objc] view plaincopy
  1. - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;方法返回YES.  

若同一时刻有两个scrollView的scrollsToTop属性都为YES,则系统不知道要响应哪一个。此功能就会失效。

解决方法是找到所有的tableView和scrollView,将不需要此功能的对象scrollsToTop属性设置为NO.

注意查找那些会一直存在的界面,比如侧边栏。(我也是找了好久才发现项目侧边栏里有一个scrollView)


2,右滑返回

如果自定义了leftBarButtonItem为返回功能时,右滑返回失效。应该设置backBarButtonItem为返回功能。关于leftBarButtonItem和backBarButtonItem的区别,可以去查找资料

解决方法:

[objc] view plaincopy
  1. <pre name="code" class="objc">    // 如果要自定义返回按钮,需设置以下两个 iOS7 新增的属性  
  2.     [[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:DDImageName(@"leftBack")]];  
  3.     [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:DDImageName(@"leftBack")]];  
  4.       
  5.     // 位移隐藏掉文字  
  6.     [UIBarButtonItem.appearance setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -64) forBarMetrics:UIBarMetricsDefault];  
  7.       
  8.       
  9.     UIButton* button = [Pub backButtonWithTarget:self action:@selector(onleftBarClick:) imgName:DDImageName(@"leftBack")];  
  10.     self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];  
  11. //    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];//使用此行代码时右滑返回失效  
  12.     self.navigationController.navigationBar.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:DDImageName(@"leftBack")]];//将自定义按钮颜色改为图片的颜色,若不设置,则默认是蓝色的  


按照以上代码,可以自定义返回按钮。同时保持右滑返回功能。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 散粉盖子扭不开怎么办 玻璃瓶饮料盖子打不开怎么办 玻璃瓶玻璃盖子打不开怎么办 美甲没有胶水怎么办 按压式瓶盖打不开怎么办 睫毛胶水瓶盖打不开怎么办 玻璃杯盖子滑丝怎么办 瓶盖滑扣了怎么办 胶水瓶口被塞住怎么办 美林盖子打不开怎么办 美林瓶盖打不开怎么办 泰诺瓶盖打不开怎么办 玻璃罐头瓶盖打不开怎么办 塑料罐头瓶盖打不开怎么办 喷笔壶盖打不开怎么办 陶瓷壶盖卡住了怎么办 贝德玛瓶盖摔坏怎么办 塑料盖子错位拧不开怎么办 安全瓶盖坏了怎么办 刚买面霜打不开怎么办 可乐瓶盖鼓起来怎么办 暖壶塞子吸住了怎么办 茶兀瓶盖打不开怎么办 水杯盖太紧了拧不开怎么办 矿泉水瓶盖拧不开了怎么办 弩弦用手拉不上怎么办 茅台酒瓶口漏酒怎么办 化妆品盖子丢了怎么办 化妆品盖子碎了怎么办 自制水泵压力小怎么办 大学数学不会做怎么办 下雪了怎么办教案幼儿园小班 下水道被混凝土堵塞怎么办 日本足贴丢了胶布怎么办 牙齿被可乐腐蚀怎么办 三十岁满嘴无牙怎么办 水乳盖子打不开怎么办 蜂蜜罐子打不开了怎么办 蜂蜜盖子第二次拧不开怎么办 玻璃杯子拧不开盖子怎么办 玻璃杯水杯盖子拧不开怎么办