Ben 3D Touch gözetleme ve pop önizleme gömülüdür UIScrollView swizzle çalışıyorum. (Ben Ortaya uygulaması aracılığıyla bir UIScrollView biliyorum.) Ben kullanıcı bu Tomardaki parmaklarını hareket ne zaman bilmek istiyorumUIScrollView ile 3D touch peek pop ile düzgün bir şekilde nasıl açılır?
3B dokunma önizlemesini görüntüleyin/görüntüleyin.
ben aşağıdaki gibi swizzling çalıştı:+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [self class];
SEL originalSelector = @selector(setContentOffset:);
SEL swizzledSelector = @selector(xxx_setContentOffset:);
Method originalMethod = class_getInstanceMethod(class, originalSelector);
Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector);
BOOL didAddMethod =
class_addMethod(class,
originalSelector,
method_getImplementation(swizzledMethod),
method_getTypeEncoding(swizzledMethod));
if (didAddMethod) {
class_replaceMethod(class,
swizzledSelector,
method_getImplementation(originalMethod),
method_getTypeEncoding(originalMethod));
} else {
method_exchangeImplementations(originalMethod, swizzledMethod);
}
});
}
#pragma mark - Method Swizzling
- (void)xxx_setContentOffset:(CGPoint)offset {
[self xxx_setContentOffset:offset];
NSLog(@"yes");
}
Ama ekran boyunca parmağımı kaymasını aramaların yüzlerce olmalıdır zaman sadece "evet" ya da iki kez çağırır.
Yanlış mı takıldım?