Iphone ModalView - PullRequest
       1

Iphone ModalView

0 голосов
/ 24 мая 2011

У меня есть первый контроллер (itemDetailViewController):

- (void)loadView {
    CGRect frame = CGRectMake(10, 10, 300, 300);

    item1DetailView = [[Item1DetailView alloc] initWithFrame:frame andController:self];
    self.view = item1DetailView;
    [item1DetailView release];
}

// there is a button in my view : item1DetailView to call this method :
- (void)clickOnButtonToModalView:(id)sender{
    Item1DetailModalViewController *item1DetailModalViewController = [[Item1DetailModalViewController alloc] init];
    item1DetailModalViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:item1DetailModalViewController animated:YES];
    [item1DetailModalViewController release];
}

Во втором контроллере (item1DetailModalViewController) у меня есть кнопка для dismissModalViewController:

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

item1DetailModalViewController близко, но item1DetailView заполняет экран. Кадр был: CGRect frame = CGRectMake(10, 10, 300, 300);

Что-то мне не хватает?

Я пробовал это:

в моем контроллере модального вида:

@protocol Item1DetailModalViewDelegate
- (void)modalViewControllerDone;
@end
@interface Item1DetailModalViewController : UIViewController {
    Item1DetailModalView *item1DetailModalView;
    id <Item1DetailModalViewDelegate> delegate;
}
@property (nonatomic, retain) Item1DetailModalView *item1DetailModalView;
@property (nonatomic, assign) id <Item1DetailModalViewDelegate> delegate;
- (void)clickOnButtonSortirModalView:(id)sender;
@end

- (void)clickOnButtonSortirModalView:(id)sender{
    //[self dismissModalViewControllerAnimated:YES];
    [self.delegate modalViewControllerDone];
}

In my itemDetailViewController :
@interface Item1DetailViewController : UIViewController <Item1DetailModalViewDelegate>

- (void)modalViewControllerDone {
    [self dismissModalViewControllerAnimated:YES];
}

Но проблема уже существует ...

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 24 мая 2011

dismissModalViewController должен вызываться контроллером, представляющим представление 1 .В вашем случае это itemDetaiViewController.

Что вам нужно сделать, это добавить свой itemDetailViewController в качестве делегата в контроллер модального представления.Затем, когда вы нажмете на кнопку, это позволит вам позвонить:

- (void)clickOnButtonSortirModalView:(id)sender{
    [delegate modalViewControllerDone];
}

и в itemDetailViewController:

- (void)modalViewControllerDone {
  [self dismissModalViewControllerAnimated:YES];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...