最近我更新了我的 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.rootViewController = 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/