1

UINavigationBar のタイトルのシャドウ オフセットをカスタマイズしようとしています。ドキュメントには、属性と値を指定する辞書を使用して setTitleTextAttributes を呼び出すことでこれを実行できると記載されています。

これは、戻るボタンとバー ボタンではうまく機能しますが、UINavigationBar では機能しません。インスタンスに送信された認識されないセレクターでアプリがクラッシュします。

内から呼び出す簡単なコードは次のapplication:didFinishLaunchingWithOptionsとおりです。

id navigationbar = [UINavigationBar appearance];
[navigationbar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[NSValue valueWithUIOffset:UIOffsetMake(0, 1)] forKey:UITextAttributeTextShadowOffset] forState:UIControlStateNormal];

私の例外ブレークポイントは、出力ログでこれにヒットします:

...-[_UIAppearance setTitleTextAttributes:forState:]: unrecognized selector sent to instance 0x1176cb0
4

1 に答える 1

2

ええ、いつものように悪いです !:(

ボタンなどでのみ機能する forState 呪文で送信していました。 UINavigationbar には状態がありません。

forState パラメータなしで送信すると正常に動作します。

于 2012-05-27T12:41:57.483 に答える