更改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属性来定义你允许哪个方向的箭头