22

最近、xcode プロジェクトを iOS 5 をサポートする代わりに iOS 7 のみに変更しました。アプリが起動するとすぐにこの変更を行った後、コンソールにこのメッセージが表示されます。

-[UICachedDeviceWhiteColor shadowColor]: unrecognized selector sent to instance 0x156f22f0

何が原因なのかわかりません。しかし、デバッガーを使用すると、アプリのデリゲートがコードの最初の行でクラッシュしているようです。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

self.window.rootViewController = self.tabBarController; //this line is where it crashes

[self.window makeKeyAndVisible];

どんな助けでもいただければ幸いです

4

2 に答える 2

85

あなたはおそらく私がしたことをし、UITextAttributeTextShadowColor と UITextAttributeTextShadowOffset のコンパイラ警告を熱心に切り取り、置き換えました。したがって、次のようなコードがありました。

NSDictionary *titleAttributes = @{UITextAttributeTextColor: [UIColor whiteColor],
                                  UITextAttributeTextShadowColor: [UIColor blackColor],
                                  UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(1, 0)],
                                  UITextAttributeFont: [UIFont titleBolder]};
[[UINavigationBar appearance] setTitleTextAttributes:titleAttributes];

両方を NSShadowAttributeName に置き換え、次のようなコードになりました。

NSDictionary *titleAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor],
                                  NSShadowAttributeName: [UIColor blackColor],
                                  NSShadowAttributeName: [NSValue valueWithUIOffset:UIOffsetMake(1, 0)],
                                  NSFontAttributeName: [UIFont titleBolder]};
[[UINavigationBar appearance] setTitleTextAttributes:titleAttributes];

必要なことは、1 つの属性 NSShadowAttributeName を持ち、影の色と影のオフセットを含む NSShadow のインスタンスを作成することです。

NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor blackColor];
shadow.shadowOffset = CGSizeMake(1, 0);
NSDictionary *titleAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor],
                                  NSShadowAttributeName: shadow,
                                  NSFontAttributeName: [UIFont titleBolder]};
[[UINavigationBar appearance] setTitleTextAttributes:titleAttributes];
于 2013-09-23T21:50:04.440 に答える