ここでの私の質問から: UIViewまたはUIViewControllerをサブクラス化することなく:サブビューが追加されたかどうかをキャッチできますか?
コードを回答から MonoTouch に移植する方法を考えています。基本的に、メソッドを新しいメソッドに置き換えてから、サブクラス化せずに古いメソッドを呼び出します。このポインターをジャグリングして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);