Ipad Ios 7 popover不工作
我正在尝试更新我的应用程序,以便它在iOs7上正常工作 在iOS 5和iOS 6中,这一点非常有效:Ipad Ios 7 popover不工作,ipad,ios7,uipopovercontroller,Ipad,Ios7,Uipopovercontroller,我正在尝试更新我的应用程序,以便它在iOs7上正常工作 在iOS 5和iOS 6中,这一点非常有效: if ([segue.identifier isEqualToString:@"popover"]) { FavoritesViewController *vc = segue.destinationViewController; CGFloat width = 200.0; CGRect rect = [vc.tableView rectForSection:[vc.t
if ([segue.identifier isEqualToString:@"popover"])
{
FavoritesViewController *vc = segue.destinationViewController;
CGFloat width = 200.0;
CGRect rect = [vc.tableView rectForSection:[vc.tableView numberOfSections] - 1];
CGFloat height = CGRectGetMaxY(rect);
if ([segue isKindOfClass:[UIStoryboardPopoverSegue class]])
{
_filterPopoverController = [(UIStoryboardPopoverSegue *)segue popoverController];
[_filterPopoverController setPopoverContentSize:CGSizeMake(width, height)];
[_filterPopoverController setDelegate:self];
}
}
}
我用这个来检查它是否已经出现在屏幕上
- (IBAction)touchedFilterButton:(UIBarButtonItem *)sender
{
if (_filterPopoverController == nil)
{
[self performSegueWithIdentifier:@"popover" sender:self];
}
else
{
[_filterPopoverController dismissPopoverAnimated:YES];
_filterPopoverController = nil;
}
}
如果我删除这行
_filterPopoverController = [(UIStoryboardPopoverSegue *)segue popoverController];
它可以工作,但我不能设置宽度/高度,也没有检查屏幕上是否有它。问题是iOS7不太“宽容” 我打电话
_filterPopoverController = [(UIStoryboardPopoverSegue *)segue popoverController];
之后
CGFloat width = 200.0;
CGRect rect = [vc.tableView rectForSection:[vc.tableView numberOfSections] - 1];
CGFloat height = CGRectGetMaxY(rect);
高度始终为0.000,因为它尚未“显示”,所以在调用其他视图控制器并设置宽度后,我必须更换segue。
我删除了子类部分,因为它确实已经是一个子类了
FavoritesViewController *vc = segue.destinationViewController;
_filterPopoverController = [(UIStoryboardPopoverSegue *)segue popoverController];
CGFloat width = 200.0;
CGRect rect = [vc.tableView rectForSection:[vc.tableView numberOfSections] - 1];
CGFloat height = CGRectGetMaxY(rect);
[_filterPopoverController setPopoverContentSize:CGSizeMake(width, height)];
[_filterPopoverController setDelegate:self];