NextViewController.hidesBottomBarWhenPushed = YES;と記述してTabBarを一時的に隠すと、popして画面を戻ったときに TabBarが透過属性となり、下層のViewが見えてしまう。
これを防ぐための方法。
遷移先の画面で、画面を戻るときにTabBarのtintColorを設定する。
- (void)didMoveToParentViewController:(UIViewController *)parent
{
if (![parent isEqual:self.parentViewController]) {
[[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:1.0f green: 1.0f blue:1.0f alpha:1.0f]]; // white
}
}
なお、iOS8では本現象は発生しない。
参考記事:
http://qiita.com/yimajo/items/d9409d83fecf9875061d