0

KGModal のデリゲートを MainView に接続しようとしていますが、うまくいきません。基本的に、私はKGModal (Github)で SecondViewController を表示し、KGModal ビューを閉じるときに、デリゲートを通じて MainView にそれを知らせたいと考えています。何か案は?(悪い説明でごめんなさい)。それを機能させることはできません。

KGModal.h

@class KGModal;
@protocol KGModalDelegate <NSObject>
- (void)modalControllerDidFinish:(KGModal *)controller;
@end

@interface KGModal : NSObject {
    UIButton *dismissButton;
}

@property (weak, nonatomic) id <KGModalDelegate> delegate;

KGModal.m

-(void)dismissButtonPressed:(id)sender {
        [self.delegate modalControllerDidFinish:self];
        [self hideAnimated:self.animateWhenDismissed];   
}    

MainView.h

@interface MainView : UIViewController <KGModalDelegate> 

@property(weak) id<KGModalDelegate> delegate;

MainView.m

- (void)modalControllerDidFinish:(KGModal *)controller{ 
    NSLog(@"Dismissed.");
}

-(IBAction)modalShowing {

SecondViewController *view2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

        KGModal *kg = [[KGModal alloc] init];
        kg.delegate = self;

        [[KGModal sharedInstance] showWithContentView:view2.view andAnimated:YES];
}
4

1 に答える 1

1

問題が解決しました。KGModal のさまざまなインスタンスにデリゲートを設定しました。

KGModal *kgm = [KGModal sharedInstance];

kgm.delegates = self;
[kgm showWithContentView:view2.view andAnimated:YES];

ホットリックスに感謝!

于 2012-12-16T01:32:03.597 に答える