Контроллер всплывающего окна не отображается

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

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"MainStoryboard_%@", isIPAD ? @"iPad" : @"iPhone"] bundle:NULL];
UIViewController *navCtrl = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navCtrl];
popover = popover;
popover.delegate = self;
popover.popoverBackgroundViewClass = [PopoverBackground class];
self.popover = popover;
[self.popover presentPopoverFromRect:((UIButton *)sender).bounds
                              inView:self.view
            permittedArrowDirections:UIPopoverArrowDirectionDown
                            animated:YES];

Но всплывающее окно никогда не отображается. Но странно то, что viewdidload и viewwillappear для входа в систему вызываются. И при повторном нажатии на представление вызывается метод делегата popover didDismissPopover.

Хотя он отлично работает, когда представлен из всплывающего окна.

Я не хочу создавать переход, потому что логин может вызываться из разных мест, и я хочу, чтобы этот код был отдельным.

Кто-нибудь уже сталкивался с такой проблемой.


person Juli Gupta    schedule 31.08.2013    source источник


Ответы (1)


Решил!!

Оказалось, что я указывал направление стрелки как UIPopoverArrowDirectionDown, а отображаемый прямоугольник был неправильным. Изменил прямоугольник на (100, 500, 10, 10) и вуаля! Все отлично.

person Juli Gupta    schedule 02.09.2013