我有一个导航栏,当 UIScrollView 向下滚动时会被隐藏,当 UIScrollView 向上滚动时会被取消隐藏 . 当用户"wiggles" scrollview ,使得动画相互抵消时,存在可见的黑色背景 .

我试过设置self.view的背景颜色,

self.view.window, [[UIApplication sharedApplication]keyWindow],

并尝试在导航栏后面放置一个UIView,但似乎没有一个工作 .

这是scrollView工作的要点:

-(void)contractHeader
{
    if(hidden) return;

    hidden = YES;

    self.edgesForExtendedLayout = UIRectEdgeNone; // iOS 7 only
    self.extendedLayoutIncludesOpaqueBars = YES;
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

-(void)expandHeader
{
     if(!hidden) return;

     hidden = NO;

    [self.navigationController setNavigationBarHidden:NO animated:YES];

}

如果这些从“摆动”中快速连续发生,则导航栏的黑色背景出现 . 有谁见过这个并找到了解决方案?