12207480 / TYPagerController

page scroll view and controller,simple,high custom,and have many tabBar styles,,support Objective-C and swift
MIT License
1.37k stars 231 forks source link

点击tabBar上的按钮,下面控制器会重复load,dealloc #95

Closed YanLYM closed 6 years ago

YanLYM commented 6 years ago

初次加载,通过左右滑动加载,控制器不会重复加载也不会dealloc; 但是如果不左右滑动,通过点击上面tabBar,控制器会重复创建,并且会dealloc; 点击tabBar里面调用[_pagerController scrollToControllerAtIndex:index animate:YES]; TYPagerControllerDelegate中transitionFromIndex的两个代理方法中处理tabBar滚动及选中调用的都是是 [_tabBar scrollToItemFromIndex:fromIndex toIndex:toIndex animate:animated];

image

YanLYM commented 6 years ago

demo里面也存在这个问题

12207480 commented 6 years ago

demo 里 哪个类 ? 是否开启缓存autoMemoryCache,还可以设置提前加载prefetchItemCount

YanLYM commented 6 years ago

prefetchItemCount不设置就可以了,这个属性什么时候需要用到呢,感觉提前加载这个属性会有问题

12207480 commented 6 years ago

提前加载 翻到下一页 无感知加载

Ctflemo commented 6 years ago

prefetchItemCount 这个问题,如果有aVC,bVC,cVC三个控制器,一开始会加载aVC,bVC。这个时候如果从aVC滚动到bVC的时候bVC不会在重新加载,但是如果从aVC点击tab上的bVC,bVC会重新init return一次。 是否是因为滚动的代理跟点击的代理判断是否存在vc的时候不一致导致的.