ios fix UIRefreshControl bug

时间:2014-05-10 07:44:40   收藏:0   阅读:529

NS_CLASS_AVAILABLE_IOS(6_0)   UIRefreshControl 有个毛病有时会出bug  动画下拉就不动了,这里给出修复处理:

bubuko.com,布布扣
@interface UICollectionView (FixRefreshControlJump)

@end
bubuko.com,布布扣
bubuko.com,布布扣
#import "UICollectionView+FixRefreshControlJump.h"
#import <objc/runtime.h>

@implementation UICollectionView (FixRefreshControlJump)

+ (void)load
{
    Method originMethod = class_getInstanceMethod([UICollectionView class], @selector(setContentInset:));
    Method newMethod = class_getInstanceMethod([UICollectionView class], @selector(setNewContentInset:));
    method_exchangeImplementations(originMethod, newMethod);
    
    UIRefreshControl
}

- (void)setNewContentInset:(UIEdgeInsets)contentInset
{
    if (self.tracking) {
        CGFloat diff = contentInset.top - self.contentInset.top;
        CGPoint translation = [self.panGestureRecognizer translationInView:self];
        translation.y -= diff * 3.0 / 2.0;
        [self.panGestureRecognizer setTranslation:translation inView:self];
    }
    if ([self respondsToSelector:@selector(setNewContentInset:)]) {
        [self setNewContentInset:contentInset];
    }
}

@end
bubuko.com,布布扣

通过 method_exchangeImplementations swzing的方式处理问题

推荐阅读:

http://www.cnblogs.com/kesalin/archive/2012/01/05/objc_method_swizzling.html

 

ios fix UIRefreshControl bug,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!