Jos*_*osa 12 cocoa-touch objective-c ipad modalviewcontroller ios
在appDidFinishLaunchingWithOptions上,我使用以下代码将整个应用程序着色为红色.
self.window.tintColor = [UIColor otfRedColor];
Run Code Online (Sandbox Code Playgroud)
这非常有效,当我的应用加载时,所有导航栏项都是红色的.A是我的根视图控制器.
我有3个视图控制器,a,b和c.A拉出b的模态演示视图表,其中提取了c的完整模态视图.当C被拉起时,导航栏上的条形按钮项目都是灰色的,这不应该发生,因为在应用委托委托窗口后,我没有以任何方式改变任何色调或颜色.然后我用
[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
解雇VC c和b,但现在我的整个应用程序是灰色的.自应用代理以来,我根本没有使用任何色调代码,为什么会发生这种情况?当我再次从A到B时,导航栏项目仍然是红色的???
从A中提取视图控制器B的代码:
AthleteAdd *addAthlete = [self.storyboard instantiateViewControllerWithIdentifier:@"addAthlete"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addAthlete];
addAthlete.delegate = self;
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:navigationController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
从B提取C的代码:
MedicalReleaseVC *medRelease = [self.storyboard instantiateViewControllerWithIdentifier:@"showMedRel"];
medRelease.delegate = self;
[self presentViewController:medRelease animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样,或有想法?我尝试将第三个视图控制器着色为红色3个单独的方式,它仍然保持灰色,然后当一切都被解雇时,我的整个应用程序都是灰色的.请帮忙!!
编辑:
如果它有帮助,我解决这个问题的方法是在我的appdelegate.m中设置以下内容
self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;
Run Code Online (Sandbox Code Playgroud)
Leo*_*ica 10
我认为这是iOS7处理tintAdjustmentMode打开和关闭工作表和弹出窗口时的错误.我已经看到这个错误发生在Apple的本机邮件应用程序中,其中条形按钮项目变为灰色,或相反,一旦弹出窗口显示它们就不再变为灰色.
为了进一步调试,我建议继承你的一个视图(或直接窗口)并实现tintColorDidChange.记录tintAdjustmentMode那里的值.我担心这会导致你的灰色问题.
一种解决方案是强制UIViewTintAdjustmentModeNormal但是这会在打开弹出框或薄片时产生不变暗的效果.
| 归档时间: |
|
| 查看次数: |
3441 次 |
| 最近记录: |