升级到xcode 5后,我注意到在两个屏幕之间转换时屏幕边缘有一个闪烁。闪烁在框架边缘显示为垂直白线。这似乎只发生在ios7上。
我在两个屏幕之间的过渡是通过故事板segue。
更新:
我通过添加以下内容修复了此问题: self.view.clipsToBounds = YES; 我的观点。
答案 0 :(得分:11)
我想出了这个问题。我必须在我的观看次数上设置clipsToBounds
到YES
。这解决了这个问题。
答案 1 :(得分:0)
当您尝试从后台更新UI时,iOS7中会出现此问题。为了避免上述情况,您应该使用GCD
方法更新UI,如下所示。
dispatch_sync(dispatch_get_main_queue(), ^{
// Update UI (e.g. Alert, label changes etc)
});
或
dispatch_async(dispatch_get_main_queue(), ^{
// Update UI (e.g. Alert, label changes etc)
});
这将确保在主队列中更新。
答案 2 :(得分:0)
我在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];
}
答案 3 :(得分:0)
好的,我已经在我的情况下解决了这个问题。
我在Container View中有一些自定义UIView。容器视图将背景颜色(可能是我不小心这样做)设置为白色。在转换之间,我看到白线闪烁(有时,随机)。当我将Container的View颜色设置为Default时,转换上的闪烁消失了。