【问题标题】:Ios 7 popover does not workiOS 7弹出框不起作用
【发布时间】:2013-10-11 12:29:17
【问题描述】:

我正在尝试更新我的应用程序以使其在 iOs7 上正常运行。

在 iOS 5 和 6 中完美运行:

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];

它可以工作,但我无法设置宽度/高度,并且没有检查它是否在屏幕上。

【问题讨论】:

    标签: ipad ios7 uipopovercontroller


    【解决方案1】:

    问题是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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-25
      • 2015-11-08
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多