Отклонение iPad UIPopoverController из его контроллера содержания

Таким образом, у меня есть легкая сдоба с кнопкой в нем. Когда та кнопка нажата, я хочу, чтобы легкая сдоба ушла. Это кажется достаточно легким, но я не могу понять это ни за что в жизни. Код, который я использую для показа легкой сдобы, ниже:

    AddCategoryViewController* content = [[AddCategoryViewController alloc] init];
 UIPopoverController* aPopover = [[UIPopoverController alloc]
          initWithContentViewController:content];
 aPopover.delegate = self;
 [content release];

 // Store the popover in a custom property for later use.
 self.addCategoryPopover = aPopover;
 [aPopover release];
 [addCategoryPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

В addcategoryviewcontroller я имею:

    -(IBAction)saveAddCategory:(id)sender {
 if (rootViewController == nil)
  rootViewController = [[RootViewController alloc] init];

 [rootViewController.addCategoryPopover dismissPopoverAnimated:YES];
 [rootViewController dismissPopover];
}

Rootviewcontroller - то, где легкая сдоба создается из. К сожалению, ни один из тех методов работают для отклонения его. какая-либо справка?

8
задан kennytm 18 April 2010 в 07:35
поделиться

3 ответа

Вы увидите предупреждение в этой строке.

 aPopover.delegate = self;

и если бы вы выполнили ваш код. приложение бы упало. Вместо этого вам нужно сделать так вот так.

4
ответ дан 5 December 2019 в 22:17
поделиться

У меня есть

- (void)viewWillDisappear:(BOOL)anAnimated
{
    [self.dPopover dismissPopoverAnimated: NO];
    self.dPopover = nil;
    [super viewWillDisappear: anAnimated];
}

, и я не понимаю, почему это не сработает в вашем случае.

Ваш if немного беспокоит, так что я предполагаю, что вы говорите не с той точкой зрения, которая вам кажется. rootViewController.addCategoryPopover , вероятно, равен нулю, потому что вы создали новый контроллер.

2
ответ дан 5 December 2019 в 22:17
поделиться

Думаю, я ответил на аналогичный вопрос с помощью решения, которое я использовал, чтобы закрыть всплывающее окно с UIView , загруженным из MKMapView . Использование моего решения в основном такое же, как и для любого другого представления, загружающего всплывающее окно.

Взгляните на: Как закрыть PopoverAnimated на iPad с помощью UIPopoverController в MKMapView (SDK3.2) . Надеюсь, это решило вашу проблему.

0
ответ дан 5 December 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: