ボタンが選択されたときの背景色を変更するラベルがあります。ビューを最初に入力するとうまく動作しますが、ビューを閉じて戻ると、タグでラベルにアクセスしてテキストを読み取ることはできますが、それは機能しなくなります。UILabelの背景色が変更されない
UILabel *labelToFlip = (UILabel *)[self.view viewWithTag:labelTag];
if (button.selected)
{
NSLog(@"selected");
NSLog(@"label text:%@:%d", labelToFlip.text, labelToFlip.tag);
[labelToFlip setBackgroundColor:[UIColor blackColor]];
[labelToFlip setTextColor:[UIColor whiteColor]];
}
これは私が私の見解に戻る方法です。もう一度ラベルに行き、問題なくテキストを読むことができます。ちょうど背景色やテキストの色を変更することはできません。
[self.navigationController popViewControllerAnimated:YES];
[self.navigationController pushViewController:self.navigationController.parentViewController
animated:YES];
あなたはここでひどく間違ったことをしているかもしれないと思います。コード "[self.navigationController pushViewController:self.navigationController.parentViewController animated:YES];"これにより、ナビゲーションコントローラーとの循環ループが作成されます。 –
申し訳ありませんが、私は明らかにされていない可能性があります。そのコードは別のビュー、つまり子ビューから呼び出されます。それでも問題はありますか? – LittlePeculiar
それでも問題になります。あなたのナビゲーションコントローラをアプリケーションデリゲートのUIWindowのインスタンスに追加し、UIViewControllerをこのUINavigationControllerにプッシュすると、ナビゲーションスタックにプッシュしたUIViewControllerで "self.navigationController"を呼び出すと、これがあなたのインスタンスを返しますこのビューを追加したUINavigationController。 次に、UINavigationControllerでparentViewControllerを呼び出しています。これは、上記の説明で、App DelegateのUIWindowになります。 –