1

我有 2 个视图控制器,第二个视图控制器中有一个表格视图,我为此目的使用了故事板,并且为了从第一个视图控制器到第二个视图控制器的转换,我正在使用弹出框控制器。问题是因为我在第二个视图控制器中使用表视图控制器,当我单击在索引路径处选择行时,会出现一个视图,但与之前的弹出框大小一起出现。我被困在当我点击单元格时如何动态调整大小,任何可能的帮助将不胜感激?

ps-请注意,我没有使用任何 IBOUlet 来弹出控制器,也没有通过代码创建它。Earloer 我已经使用 setcontentsize 来调整弹出框的大小,但使用故事板我被卡住了。

4

1 回答 1

1

以下是您可以尝试的方法

  1. 创建将放置在弹出窗口中的 ViewController,选择它并导航到 Utilities 窗格 > Attributes Inspector > Set Size to Freeform

  2. 选择popover segue并导航到Utilities面板> Attributes Inspector > Set Identifier to "yourIdentifier"

第一次尝试

通过选择 ViewController 的 View 并导航到 Utilities 窗格->Size Inspector 来更改 ViewController 的大小 [看看你是否可以获得预期的大小]

第二次尝试- 在您调用 popOverViewController 的视图中尝试此操作

    UIPopoverController *popover; // define this in .h as ivar

    - (IBAction)buttonPressed:(id)sender 
    {
         UIButton *anchor = (UIButton*)sender;
         UIViewController *viewControllerForPopover = [self.storyboard instantiateViewControllerWithIdentifier:@"yourIdentifier"];    
         popover = [[UIPopoverController alloc] 
               initWithContentViewController:viewControllerForPopover];
         [popover setPopoverContentSize:CGSizeMake(width, height)]; // here see if you can get expected size
         [popover presentPopoverFromRect:anchor.frame 
                                  inView:anchor.superview 
                permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    }

第三次尝试

Please look at Trick by krasnyk (accepted answer) for Forcing Popover Size

于 2013-03-12T11:35:21.717 回答