uinavigationcontroller - 具有透明内容的 ios 7 View 与以前的 View 重叠

标签 uinavigationcontroller ios7 pushviewcontroller xcode5

最近我更新了我的 xcode 项目以使用 iOS 7,但我遇到了一个大问题。因为我的整个应用程序只有一个背景图像(UIImageView 添加到关键窗口)并且所有 View 都是透明的,所以我在推送 UIViewController 时遇到了问题,因为推送的 View Controller 与之前的 View 重叠(您可以在图片中看到它:http://grab.by/qp0k )。我可以预测这是因为在 iOS 7 中推送过渡已经改变,因为现在它滑动了半个屏幕。也许有人知道如何解决这个问题?

这就是我设置关键窗口的方式

  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
 UIImageView *background = [[UIImageView alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
 background.image = [UIImage imageNamed:@"background.png"]; 
UINavigationController *navi = [[UINavigationController alloc]initWithRootViewController:self.viewController];
self.window.rootViewContro‌​ller = navi;
 [self.window makeKeyAndVisible];

之后,当用户单击“开始锻炼”按钮时,我会像往常一样推送下一个 View :
workoutView *w = [[workoutView alloc]initWithNibName:@"workoutView" bundle:nil];
        [self.navigationController pushViewController:w animated:YES];

最佳答案

我这样做了。

-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    [self.view setAlpha:0];
}

回来时不要忘记重新设置alpha。
- (void) viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [self.view setAlpha:1];
}

关于uinavigationcontroller - 具有透明内容的 ios 7 View 与以前的 View 重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881427/

相关文章:

iphone - 保存和恢复标签栏 Controller 的状态

ios - 如何在 Swift 中通过 Segue 将数据传递给下一个 View ?

objective-c - 如何使用 ViewController 修复 iOS 7 View 中的 44px 空白空间?

iphone - 使用pushViewController到TableViewController时出现断言错误

ios - 推送 View Controller

ios - 第一个 View 中的委托(delegate)方法不会从第二个 View 中调用

objective-c - popToRootViewController 前进动画

ios - UISearchDisplayController/UI SearchResults TableView 在每次搜索时添加额外的行? IOS 7

cocos2d-iphone - Assets 目录可以消除 Sprite 表中 iOS 设备资源扩展的需要吗?

ios - 使用 PushViewController 时选项卡不显示