在屏幕ios7之间转换时边缘闪烁

升级到xcode 5后,我注意到在两个屏幕之间转换时屏幕边缘有一个闪烁。 闪烁在框架边缘显示为垂直白线。 这似乎只发生在ios7上。

我在两个屏幕之间的过渡是通过故事板segue。

更新:

我通过添加:self.view.clipsToBounds = YES修复了这个问题。 对我的看法。

我想出了这个问题。 我必须在视图clipsToBounds设置为YES 。 这解决了这个问题。

当您尝试从后台更新UI时,iOS7中会出现此问题。 为了避免上述情况,您应该使用GCD方法更新UI,如下所示。

 dispatch_sync(dispatch_get_main_queue(), ^{ // Update UI (eg Alert, label changes etc) }); 

要么

 dispatch_async(dispatch_get_main_queue(), ^{ // Update UI (eg Alert, label changes etc) }); 

这将确保在主队列中更新。

我在iOS7中遇到了tableView Segues这个问题,而clipsToBounds BOOL对我没有任何帮助。 对我来说,修复是通过在viewDidAppear中加载我的背景图像而不是viewDidLoad。 示例如下:

 - (void)viewDidLoad { [super viewDidLoad]; tableData = [NSArray arrayWithObjects:@"First", @"Second", @"Third", nil]; [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; UIEdgeInsets inset = UIEdgeInsetsMake(5, 0, 0, 0); self.tableView.contentInset = inset; //Don't load your background image or color here } -(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [[AppDelegate sharedInstance] setNavTitle:@"Title"]; //load your background image here self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"FirstViewBackground"]]; self.tableView.backgroundColor = [UIColor clearColor]; } 

好的,我已经在我的情况下解决了这个问题。

我在Container View中有一些自定义UIView。 容器视图将背景颜色(可能是我不小心这样做)设置为白色。 在转换之间,我看到白线闪烁(有时,随机)。 当我将Container的View颜色设置为Default时,过渡时闪烁消失。