直接上代码
// UITableView+ext.m
// VideoIphone
//
// Created by baidu on 2018/11/7.
// Copyright © 2018 com.baidu. All rights reserved.
//
#import "UITableView+ext.h"
#import <objc/message.h>
@implementation UITableView (ext)
+ (void)load{
Class class = [self class];
SEL originalSelector = @selector(setContentOffset:animated:);
SEL swizzledSelector = @selector(ext_setContentOffset:animated:);
Method originalMethod = class_getInstanceMethod(class, @selector(setContentOffset:animated:));
Method swizzledMethod = class_getInstanceMethod(class, @selector(ext_setContentOffset:animated:));
BOOL success = class_addMethod([self class],
originalSelector,
method_getImplementation(swizzledMethod),
method_getTypeEncoding(swizzledMethod));
if (success) {
class_replaceMethod([self class],
swizzledSelector,
method_getImplementation(originalMethod),
method_getTypeEncoding(originalMethod));
} else {
method_exchangeImplementations(originalMethod, swizzledMethod);
}
}
- (void)ext_setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated{
NSLog(@" hook到的偏移量:******%f",contentOffset.y);
[self ext_setContentOffset:contentOffset animated:animated];
}
@end