1

UITextField に奇妙な例外があります。私はそれを解決しましたが、なぜそうなるのかについての手がかりはありません。アプリケーションを実行した後、UITextField の外観を次のように設定しました。

UITextField *textfieldAppearance = [UITextField appearance];
textfieldAppearance.font = [_theme textfieldFont];
textfieldAppearance.textColor = [_theme textfieldColor];
if (textDirectionRTL) {
    textfieldAppearance.textAlignment = NSTextAlignmentRight;
}
textfieldAppearance.backgroundColor = [UIColor clearColor];

ご覧のとおり、異常なことは何もありませんが、UITextField を持つコントローラーを開くと、__CFStringEncodeByteStream + 17 EXC_BAD_ACCESS 例外が発生します。

ここに画像の説明を入力

解決策は、 backgroundColor設定をコメント アウトすることでした。UITextView の外観設定はまったく同じで、すべて問題ありません。さらに、awakeAfterUsingCoder 内のコードで UITextField backgroundColor を設定すると、すべてがうまく機能します。XCode バージョン 4.6.3 (4H1503) シミュレーターでアプリを実行しています

この奇妙な動作の手がかりはありますか?

4

2 に答える 2