Question

Lorsque je clique sur le bouton Terminé, cela ne rejette pas modalviewcontroller dans mon cas, c'est infoviewcontroller.Suis-je censé ajouter quelque chose dans les fichiers h et m de mainviewcontroller.

Dans Infoviewcontroller.h

#import <UIKit/UIKit.h>

@protocol ModalViewDelegate <NSObject>

-(void) dismissModalView;

@end

@interface Infoviewcontroller : UIViewController <UITextViewDelegate>

{
id<ModalViewDelegate>dismissDelegate;
UITextView *textView;
UINavigationBar *navBar;

}

@property (nonatomic, retain) UITextView *textView;
@property (nonatomic, assign) UINavigationBar *navBar;
@property (nonatomic, assign) id<ModalViewDelegate>dismissDelegate;

@end

Dans Infoviewcontroller.m

#import "Infoviewcontroller.h"
#import <QuartzCore/QuartzCore.h>


@implementation Infoviewcontroller

@synthesize textView;
@synthesize navBar;
@synthesize dismissDelegate;



-(void)dealloc
{
[textView release];
[navBar release];
[super dealloc];
}

- (void) viewDidLoad
{
  [super viewDidLoad];

    UIButton* backButton = [UIButton buttonWithType:101]; 
    [backButton addTarget:self action:@selector(dismissView:) forControlEvents:UIControlEventTouchUpInside];
    [backButton setTitle:@"Done" forState:UIControlStateNormal];

    // create button item
    UIBarButtonItem* backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

    // add the button to navigation bar
    self.navigationItem.leftBarButtonItem = backItem;
    [backItem release];

 -(void)dismissView:(id)sender
{
    //Make the delegate close the modal
    [self.dismissDelegate dismissModalView];

}

Lorsque je clique sur le bouton Terminé, cela ne rejette pas modalviewcontroller dans mon cas, c'est infoviewcontroller.Suis-je censé ajouter quelque chose dans le fichier h et m de mainviewcontroller.S'il vous plaît, aidez-moi s'il me manque quelque chose dans les fichiers mainviewcontroller.

Merci pour votre aide,

Était-ce utile?

La solution

-(void)dismissView:(id)sender
{
       [self dismissModalViewControllerAnimated:YES];

}

mais si vous souhaitez ignorer le contrôleur dans la méthode de délégué, vous devez d'abord définir le délégué dans infoviewController, puis dans la méthode de délégué, utilisez l'objet infoviewController pour le rejeter.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top