UIImageView 动画自动停止问题/UICollectionView分页宽度和collectionView的宽度不一致

833 阅读1分钟

一.UIImageView 动画自动停止问题

最近在用UIImageView animationImages 做loading动画时,动画会莫名其妙的自己停了

最后发现有2种原因导致

1、视图切换时,比如UIViewController push,UITabViewController 切换,这个会触发willMoveToWindow,导致动画停止

解决方法

-(void)willMoveToWindow:(UIWindow*)newWindow{[superwillMoveToWindow:newWindow];if(newWindow){if(self.loading){[self.loadingImageView startAnimating];}}}

2、如果loading是放在 UITableViewCell或者UICollectionViewCell上的,在点击cell时会把UIImageView 变成高亮,动画也会停止

解决方法

@interfaceSeaLoadingImageView:UIImageView///是否正在loading@property(nonatomic,assign)BOOL loading;@end

@implementationSeaLoadingImageView

-(void)setHighlighted:(BOOL)highlighted{

[supersetHighlighted:highlighted];

if(self.loading&&!self.isAnimating){

[selfstartAnimating];

}

}

@end

二.UICollectionView分页,每个item的宽度和collectionView的宽度不一致

github.com/yangguanghe…

IMG_1399.PNG

IMG_1400.PNG

IMG_1401.PNG

功能描述:WSL_RollView 是基于UICollectionView实现的支持水平和垂直两个方向上的的分页和渐进循环轮播效果,可以设置时间间隔、渐进速率、是否循环、分页宽度和间隔,还支持高度自定义分页视图的控件。

github.com/wsl2ls/WSL_…

三.掘金APP个人中心页样式

github.com/wsl2ls/iOS_…

  • (void)getData {

    [self.titlesArray addObjectsFromArray:@[

      @"掘金APP个人中心页样式",
    
      @"微博发现页ScrollView嵌套样式",
    
      @"简书APP个人中心页样式"]];
    

    [self.classArray addObjectsFromArray:@[[SLScrollViewJuejin class],

                                         [SLScrollViewWeiboclass],
    
                                         [SLScrollViewJianShuclass]]];
    

    [self.tableView reloadData];

IMG_1402.PNG

IMG_1403.PNG

IMG_1404.PNG

IMG_1405.PNG

IMG_1406.PNG

IMG_1405.PNG