2012-01-07 14 views
0

これは私の頭を傷つけています。UIPopoverControllerDelegateメソッドは呼び出されません

@interface MyViewController : UIViewController<UIPopoverControllerDelegate> { 

それはのようなので、そのプロトコルのメソッドを実装し:

- (bool)popoverControllerShouldDismissPopover 
{ 
    NSLog(@"THIS IS NEVER CALLED");  
    return true; 
} 

- (void)popoverControllerDidDismissPopover 
{ 
    NSLog(@"THIS IS ALSO NEVER CALLED"); 
} 

Iビュー・コントローラを作成がポップオーバーに示されるべき、およびポップオーバーコントローラIは、UIPopoverControllerDelegateを実装するビューコントローラを有していますように:

私は非常に明確にpopover.delegate = selfを設定しています。 いつも、私が実装したpopoverViewControllerデリゲートメソッドは呼び出されません。

アイデア?

編集:注:私はARC & LLVMを使用しています。

+0

ポップオーバーが正しく表示されていますか? – timthetoolman

+0

はい - デリゲートメソッドを正しく呼び出すことなく&dismissingするだけです。 –

答えて

3

デリゲートメソッドの実装が間違っていると思います。

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController 

ではなく を試してみてください - (BOOL)popoverControllerShouldDismissPopover

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController 

ではなく

- (void)popoverControllerDidDismissPopover 

それはそう、あなたが正しいメソッド名とパラメータを取得することが重要です彼らは呼び出されません。

幸運を祈る!

+0

ああ...うん、そうだった。ああ、あなたの答えを見つけることの喜びは、あなたが見落としてしまった非常に単純なものです... –

+1

いいえ心配ありません。時にはもう一組の目がかかることもあります。 – timthetoolman

関連する問題