Установить размер UIPopOverController

У меня есть представление с кучей кнопок в UIScrollView . Когда пользователь нажимает кнопку, я хочу, чтобы отображался UIPopOverController, указывающий на выбранную кнопку. Это вроде работает, но всплывающее окно имеет неправильный размер и указывает на случайную точку в представлении. Вот мой код.

-(void)detail:(id)sender{
    UIButton *button = sender;
    NSLog(@"tag = %i", button.tag);

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    self.popover = [[UIPopoverController alloc] initWithContentViewController:navController];
    self.popover.delegate = self;
    [self.popover presentPopoverFromRect:button.bounds inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

Чем проблема с размером всплывающего окна: В представлении, которое находится внутри всплывающего окна, у меня есть:

self.contentSizeForViewInPopover = scroll.contentSize;
NSLog(@"%f, %f", scroll.contentSize.height, scroll.contentSize.width);
NSLog(@"showing: %f, %f",  self.contentSizeForViewInPopover.height,  self.contentSizeForViewInPopover.width);

, и оба журнала совпадают. Так что я считаю, что все должно работать правильно. Но это не так. Вот скриншот. Дайте мне знать, если вам понадобится больше моего кода. Заранее спасибо.

screen shot of the error

5
задан Cœur 11 July 2019 в 15:08
поделиться