我没有完全理解monotouch中的委托机制。任何人都可以帮助我理解这个概念吗?Monotouch:了解委托机制模式
问题很简单。我将尝试映射我在Monotouch中Objective C中完成的工作。
例如,假设我在MyController
的Objective C中创建了UIPopoverController
。在目标C的代码如下:
@interface MyController : UIViewController <UIPopoverControllerDelegate> {
// ...
}
// ...
@end
里面MyController
我可以istantiate一个UIPopoverController
如下所示:在委托使用
UIPopoverController *popover = // ...
popover.delegate = self;
和最后的方法。
那么,Monotouch呢?
通过这个代码,我可以istantiate延伸UIViewController
特定TouchUpInside事件处理程序内的UIPopoverController
内MyController
类:
popover = new UIPopoverController(new CustomController());
popover.PopoverContentSize = new SizeF(200f, 200f);
popover.PresentFromRect(button.Frame, containerForButtonView, UIPopoverArrowDirection.Left, true);
附:一个重要的方面是将popover引用作为成员类,而不是处理程序内的局部变量,因为monotouch GC工作正常!
预先感谢您。
我的第一个解决方案有效。我已经实现了一个扩展了UIPopoverControllerDelegate的CustomPopoverController。然后我添加了popover.delegate该控制器的一个实例。是否有可能作为代表** MyController **或** CustomController **? – 2011-03-02 09:03:34
您的解决方案看起来如何?我能看到的唯一事件是'DidDismiss'和'WillReposition' ......并不是那么多。 – testing 2014-11-25 10:23:35