在故事板中调整popover控制器的大小

时间:2013-03-12 11:01:37

标签: ios storyboard uipopovercontroller

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

p.s-请注意我没有使用任何IBOulet弹出控制器而不是通过代码创建它.Earloer我使用setcontentsize调整弹出窗口大小但是故事板我卡住了。

1 个答案:

答案 0 :(得分:1)

以下是您可以尝试的方法

  1. 创建将放置在popover中的ViewController,选择它并导航到Utilities窗格>属性检查器>将大小设置为自由格式

  2. 选择popover segue并导航到Utilities窗格>属性检查器>将标识符设置为" yourIdentifier"

  3. 首先尝试

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

    SECOND TRY - 在您调用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];
        }
    

    第三次尝试

    请查看Forcing Popover Size

    的krasnyk(接受回答)的诡计