Уволить несколько поповеров xcode - PullRequest
1 голос
/ 11 декабря 2011

У меня есть страница с несколькими всплывающими окнами, которую я пытаюсь закрыть при появлении другого всплывающего окна. Я использую следующий код, но, похоже, оно не отклоняет всплывающее окно

-(IBAction)OISButton:(id)sender{
    if(![popoverController isPopoverVisible]){
        OISView *oisView = [[OISView alloc] init];
        UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:oisView];
        [pop setDelegate:self];
        [pop presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
        [pop setPopoverContentSize:CGSizeMake(320, 460)];
        [oisView release];

    }
    else{
        // close popover
        [popoverController dismissPopoverAnimated:YES];
    }


}

Есть предложения о том, как изменить этот код? Спасибо

Ответы [ 2 ]

2 голосов
/ 11 декабря 2011

Вы не назначаете popoverController, что может объяснить ваши проблемы.

1 голос
/ 11 декабря 2011

Спасибо, Том, за то, что направили меня в правильном направлении. Я включил приведенный ниже код для одного всплывающего окна с представлением, называемым OISView, в формате для обработки нескольких всплывающих окон:

-(IBAction)OISButton:(id)sender{
    if([popoverController isPopoverVisible]){
        [popoverController dismissPopoverAnimated:YES];


} else
{
    OISView *oisView = [[OISView alloc] init];
    UIPopoverController *pop = [[UIPopoverController alloc]   initWithContentViewController:oisView];
    self.popoverController = pop; 
    [pop setDelegate:self];
    [pop presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    [pop setPopoverContentSize:CGSizeMake(320, 460)];
    [oisView release];


}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...