1

iOS5.1 をサポートするように構築された iOS アプリケーションがあり、検索バー内のキャンセル ボタンをカスタマイズしていました。

私が使用していて、iOS6.1 まで動作するコードは次のとおりです。

id barButtonAppearanceInSearchBar =
    [UIBarButtonItem appearanceWhenContainedIn: [UISearchBar class], nil];
[barButtonAppearanceInSearchBar setTitle:
    [self localizedStringValueFor:@"Cancel"]];

どういうわけか、2行目で不正なアクセス例外が発生barButtonAppearanceInSearchBarし、ボタンのテキストの値を設定しようとすると割り当てが解除されるようです。

localizedStringForValue指定されたキーの翻訳を含む文字列を返すカスタム メソッド、または翻訳が存在しない場合はキー自体を返すカスタム メソッドです。

iOS7 のシミュレーターでアプリを実行すると、アプリは常にクラッシュします。私が間違っていることを理解しようとしていますが、これまでのところ運がありません。

4

1 に答える 1

1

setTitleサポートUIAppearanceContainer方法ではありません。でマークされたプロパティのみUI_APPEARANCE_SELECTORがサポートされます。

を作成するときに、タイトルを手動で設定する必要がありますUISearchBar

于 2013-09-23T19:38:58.847 に答える