Z mojego pytania tutaj: Without subclassing a UIView or UIViewController: possible to catch if a subview was added?Jak przenieść "method_getImplementation" i "method_setImplementation" do MonoTouch?
Zastanawiam się, jak przenieść kod z odpowiedzi na MonoTouch. Zasadniczo zamienia metodę na nową, a następnie wywołuje starą bez podklasy. Czy to możliwe, aby ten wskaźnik żonglował nim w MonoTouch?
//Makes views announce their change of superviews
Method method = class_getInstanceMethod([UIView class], @selector(willMoveToSuperview:));
IMP originalImp = method_getImplementation(method);
void (^block)(id, UIView*) = ^(id _self, UIView* superview) {
[_self willChangeValueForKey:@"superview"];
originalImp(_self, @selector(willMoveToSuperview:), superview);
[_self didChangeValueForKey:@"superview"];
};
IMP newImp = imp_implementationWithBlock((__bridge void*)block);
method_setImplementation(method, newImp);
Jestem również ciekawy, jak to można zrobić. Właśnie teraz łączę się z biblioteką ObjC, która to robi. –