したがって、新しいビューを追加した1日ほど前まで、このコードが完全に機能していたことを認めなければなりません。そのため、現時点ではかなりイライラしています。
セットアップ:タブバーを含むストーリーボードアプリがあります。AppDelegateには、CoreDataをアタッチするための次のものがあります
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UINavigationController *navigationController = [[tabBarController viewControllers] objectAtIndex:0];
GamesViewController *controller = [[navigationController viewControllers] objectAtIndex:0];
controller.managedObjectContext = self.managedObjectContext;
return YES;
}
また、AppDelegateには、標準のタブの背景を選択した画像に設定するこのメソッドがありました。
- (void)customizeInterface {
UIImage* tabBarBackground = [UIImage imageNamed:@"tab_background"];
[[UITabBar appearance] setBackgroundImage:tabBarBackground];
}
したがって、タブの前に別のログインビューを追加するまで、これはすべて正常に機能しました。CoreDataが最初に設定されていたものも変更する必要がありました(タブからログイン/初期化ビューに)。以下は、ストーリーボードがどのように見えるかの新しいセットアップです。
アプリが読み込まれると...背景画像は最初は以前と同じように表示されますが、最初のタブにのみ表示されます。クリックすると、デフォルトのグラデーションカラーに戻ります。最初の/最初のタブに戻ると、背景は再適用されず、色付きのグラデーションのままになります。
これに合わせて修正されたapplicationDidFinishLaunchingコードは次のとおりです。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//instantiate local context
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
// Handle the error.
NSLog(@"Error: Context is null");
}
LoginViewController *rootViewController = [LoginViewController alloc];
rootViewController.managedObjectContext = context;
return YES;
}
それで、私がやろうとしたのは、タブバーがロードする最初のVC(GameViewController)のviewDidLoadに移動し、これを追加して問題を修正しようとしたことです。
- (void)viewDidLoad {
[super viewDidLoad];
[self.tabBarController.tabBar setBackgroundImage:[UIImage imageNamed:@"dock_background"]];
}
それは機能しなかったので、AppDelegateにあったのと同じ元のコードを使用してみましたが、これも機能しませんでした。
- (void)viewDidLoad {
[super viewDidLoad];
UIImage* tabBarBackground = [UIImage imageNamed:@"tab_background"];
[[UITabBar appearance] setBackgroundImage:tabBarBackground];
}
だから...私はちょっと立ち往生しています。私はとても明白なことをしなければならない(またはしていない)必要があります...そこに誰かが何かヒント/ポインタを持っていますか?
トンありがとう-ドリュー