您的位置:首页 > 其它

上周工作中遇到的问题以及解决方法总结

2016-04-17 00:40 786 查看
上周忙于薄荷的提交,新知识的积累不够丰富,无法连贯成一篇有质量的博文。这里分享一下上周薄荷开发中遇到的一些问题和解决办法。

跳转问题

在项目里有个需求,A–push–>B–push–>C, 然后想让从C 直接到D,D–pop–>A

当时简单试了一下

C–pop–>A,A–push–>C.

这里有两个问题,就算把C–pop–>A的动画设置为NO,还是会闪现一下A的界面,在手机不流畅的情况下会更突出。另外,有时候pop后push还会失效。

后来试了改变导航控制器里的viewControllers的结构,达到无缝跳转

NSArray *viewControllers = self.navigationController.viewControllers;

NSMutableArray *newViewControllers = [NSMutableArray array];

[newViewControllers addObject:[PXShopOrderListViewController new]];

[self.navigationController setViewControllers:newViewControllers animated:YES];


展开动画

需求要求点击Cell的时候展开有一个简单动画效果,当时用了reloadRowsAtIndexPaths这个方法,

UITableViewRowAnimationFade,
UITableViewRowAnimationRight,
UITableViewRowAnimationLeft,
UITableViewRowAnimationTop,
UITableViewRowAnimationBottom,
UITableViewRowAnimationNone,
UITableViewRowAnimationMiddle,


试了几个动画都不满意,最后改成了UITableViewRowAnimationNone,发现展开有了动画,说好的None呢。。。

iOS 版本不同的差异

根据cell上的空间获取当前的cell是哪一个indexPath的,习惯用的是

[[itemCell.someView superview] superview];

NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];


后来测试的时候发现在iPhone4上出现了闪退的问题,检查发现

在ios7上,

[[itemCell.someView superview] superview]

获取并不是当前的cell,

[[[itemCell.someView superview] superview] superview]

获取的才是当前的cell.

另外,一些比较多的bug出现在4上,等iOS10上线,可以考虑不在适配iOS8一下的系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: