我有2个视图控制器,第2个视图控制器中有一个表视图 我为此目的使用了故事板,并且从第1视图控制器转换到第2视图控制器,我正在使用弹出控制器。问题是,因为我在第二个视图控制器中使用表视图控制器,当我点击索引路径上的选择行时,视图会出现,但是与之前的弹出窗口大小一起。我坚持这一点,因为当我点击单元格时如何动态调整大小 ,任何可能的帮助将不胜感激?
p.s-请注意我没有使用任何IBOulet弹出控制器而不是通过代码创建它.Earloer我使用setcontentsize调整弹出窗口大小但是故事板我卡住了。
答案 0 :(得分:1)
以下是您可以尝试的方法
创建将放置在popover中的ViewController,选择它并导航到Utilities窗格>属性检查器>将大小设置为自由格式
选择popover segue并导航到Utilities窗格>属性检查器>将标识符设置为" yourIdentifier"
首先尝试
通过选择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];
}
第三次尝试
的krasnyk(接受回答)的诡计