更改PopOverViewController的首选内容大小

我试图从childViewController中更改UIPopOverController的首选内容大小。

首先我以这种方式呈现PopOverViewController

DateViewController *dateView = [[DatePickerViewController alloc] initWithNibName:@"DateViewController" bundle:nil]; UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:dateView]; m_tableCell = (NotesCell *)[m_tableView cellForRowAtIndexPath:indexPath]; popViewController = [[UIPopoverController alloc] initWithContentViewController:navController]; popViewController.backgroundColor = [[AppManager instance].themeManager navigationBarColor]; popViewController.delegate = self; //the rectangle here is the frame of the object that presents the popover, //in this case, the UIButton… CGRect popRect = CGRectMake(m_tableCell.customView.frame.origin.x, m_tableCell.customView.frame.origin.y, m_tableCell.customView.frame.size.width, m_tableCell.customView.frame.size.height); [popViewController presentPopoverFromRect:popRect inView:m_tableCell permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES]; 

所以在我的childViewController ie(DateViewController),我有button,当切换将调用一个函数

  - (void)toggleButton { if(small) { self.presentingViewController.presentedViewController.preferredContentSize = CGSizeMake(320,485); } else { self.presentingViewController.presentedViewController.preferredContentSize = CGSizeMake(320,320); } } 

这工作正常,但因为我们知道UIPopOverViewController有箭头,所以当我调整popOverView的大小,箭头也上下animation,我不想要的。 我不能用图像显示,所以请原谅。

需要帮忙

兰吉特。

首先,你发布的代码将无法正常工作,因为在else语句中,您只能在构造CGSizeMake时给出一个值。

其次,你可以通过指定popoverArrowDirection属性来定义你允许哪个方向的箭头

    Interesting Posts