У меня есть класс (ViewOpenAppointments), где я создаю и показываю UIPopover. Это код для определения поповера в моем файле .h:- [UIPopoverController dealloc] достигнут, пока popover все еще виден
@interface ViewOpenAppointments : UIView {
}
@property (nonatomic, retain) UIPopoverController *popoverController;
-(void)createOpenAppointmentsPopover: (UIButton *) obViewOpenAppts;
@end
У меня есть чек в коде, что если поповер видно, распускать его. Это код:
// create popover
UIViewController* popoverContent = [[UIViewController alloc] init];
// UIView *popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 650, 416)];
ViewOpenAppointments *popoverView = [[ViewOpenAppointments alloc] initWithFrame:CGRectMake(0, 0, 650, 416)];
popoverView.backgroundColor = [UIColor whiteColor];
popoverContent.preferredContentSize = CGSizeMake(650.0, 416.0);
// create the popover controller
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
popoverController.delegate = (id)self;
[popoverController setPopoverContentSize:CGSizeMake(650, 416) animated:NO];
if ([popoverController isPopoverVisible]) {
[popoverController dismissPopoverAnimated:YES];
}
[popoverController presentPopoverFromRect:CGRectMake(650, 416, 10, 50) inView: obViewOpenAppts
permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
Проблема заключается в том, что код, чтобы закрыть поповер никогда не ударил, а это значит, что это не видно. Но я все еще получаю сообщение об ошибке (описано в заголовке вопроса).
Что я делаю неправильно?
Если вы не храните контроллер, он освобождается даже в то время как видимый, а вы не –
Контроллер IS сохраняется ... посмотрите код из файла .h – SpokaneDude
это не так;) вот что ' выпуск ". вам нужно будет показать нам, кто держит экземпляр ViewOpenAppoint, который показывает popover –