iOS导航栏在动画期间更改颜色

时间:2014-06-04 19:36:23

标签: ios objective-c cocoa-touch uinavigationbar

我在iOS 7中的模拟器和设备上都有一个奇怪的图形问题。

在按下表格视图中的单元格后,我以编程方式从故事板中调用segue:

[self performSegueWithIdentifier:@"showTerminDetailView" sender:self];

然后我夸大了一些值:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showTerminDetailView"]) {
    Termin *termin = [self termineAtDate:self.currentday][[((TerminDayTableViewTableViewController *)self.terminTableViews[3]).tableView indexPathForSelectedRow].row];
    TerminDetailViewController *terminDetailViewController = segue.destinationViewController;
    terminDetailViewController.termin = termin;
}

}

问题是导航栏的右侧在动画期间变暗: Normal navigation bar Navigation bar during the animation

欢迎任何帮助!

1 个答案:

答案 0 :(得分:3)

这是正常行为。 iOS7导航栏默认为半透明,因此您可以看到它下方的内容。您的问题可能是以下之一

  • 控制器设置为仅显示在导航控制器下方。
  • 您推送的视图控制器上有self.navigationController.navigationBar.translucent = NO;,因此它从半透明变为非半透明
  • 你有self.edgesForExtendedLayout = UIRectEdgeNone;再次将内容向下移动,这将使导航控制器下面没有内容
  • 您在导航栏后面的推送视图控制器中显示了一些内容。