iOS开发中遇到的问题 小计
2018-07-17 本文已影响4人
silence_xz
事件冲突
- 解决scrollView的滑动事件与子视图按钮事件冲突
self.scrollView.panGestureRecognizer.delaysTouchesBegan = YES;
2.根控制器TabBarViewController的setSelectedIndex进行切换标签时,从标签的导航栈中跳转到其他标签时出现的问题,底部的tabbar隐藏?
因为需要先pop到导航栈的根视图,然后再切到其他标签。
pop方法一定不要使用动画,设置成NO,因为动画在标签切换时,未完成就会出现问题。
原理:设置成YES,此时pop操作会在动画执行完成之后,晚与标签切换,此时会隐藏掉tabbar。
[self.navigationController popToRootViewControllerAnimated:NO];
AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
[delegate.rootController setSelectedIndex:0];
3.使用Masonry进行适配scrollview时,因为无法通过CGSizeMake来设置它的contentSize,可以使用一个中间过渡view进行处理。
4.滑动时动态获取当期显示的是第几个section,在方法- (void)scrollViewDidScroll:(UIScrollView *)scrollView中获取
NSInteger section = [self.listView.tableView indexPathForRowAtPoint:CGPointMake(0, scrollView.contentOffset.y)].section;
5.更新单个cell时,经常将indexPath设置出错,解决方式根据Section来进行设置,既简单有直观,不容易出错
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
[self.listView.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];