アプリを作成していますが、UITabBarControllerの色合いを変更できるようにしたいと考えています。UITabBarControllerのカスタムクラスを作成し、それをIBのUITabBarに割り当てました。正常に動作します。このクラスには、alterColorと呼ばれる色を変更するIBActionがあります。
アプリが最初に起動したときは、これで問題ありません。しかし、その後、私は別のクラスからそのアクションを実行することができないようです。色を変更しようとする設定クラスがあります。設定クラスで次のように実行すると、正しいインスタンスが取得されます。
.H
@property (nonatomic, strong) TabBarController *tabController;
.M
@implementation LogbookThirdViewController
@synthesize CarbsTextField;
@synthesize tabController;
..。
-(IBAction)colorRedPicked:(id)sender {
NSString *writableDBPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"colorChoice.txt"];
NSString *carbRatio = @"red";
[carbRatio writeToFile:writableDBPath atomically:YES encoding:NSUTF16StringEncoding error:nil];
NSString *readFile;
readFile = [NSString stringWithContentsOfFile:writableDBPath encoding:NSUTF16StringEncoding error:nil];
NSLog(@"Color = %@", readFile);
readFile = nil;
[tabController alterColor:tabController]; //This line should run the method.
}
ただし、何も起こりません。