2011-11-02 16 views
8

私のアプリでは、背景画像の上にあるUITextFieldがあります。 iOS 4では、backgroundColorプロパティを 'clearColor'に設定して、正しく表示させる必要がありました。 iOSの4の下のテキストフィールドは、次のようになります...iIT 4からiOS 5へのUITextFieldバックグラウンド動作の変更

enter image description here

これは、私はそれを見てみたい方法です。さて、Xcodeの4.3(iOSの5)I再実行し、同じプロジェクト、ボックスは次のようになります...

enter image description here

grrrがへのアップグレード以来。ですから、iOS 5ではbackgroundColorプロパティを 'whiteColor'に変更しても問題ありません。 iOSのは、4.xの下しかし今、ボックスは次のようになります...

enter image description here

は醜い白コーナーを注意してください!ですから、iOS 4とiOS 5(つまり最初の画像のように見える)の両方で正常に見えるようにするために、ここで何をすべきか教えてください。

多くのおかげで、 サイモン

+2

更新されたSDKで再構築しましたか? – BoltClock

+1

ちょうど知っている... QuartzCoreをインポートし、textField.layer.backgroundColor = [UIColor clearColor] .CGColor;を設定してみてください。 ? – Mat

+1

ここで何が起こっているのか分かりませんが、現在は機能しています。私はbackgroundColorプロパティを設定するためにラインを削除しました。それは4と5の両方でうまく見えます。 – Simon

答えて

3

私は数日前に同じ問題を抱えました。これを解決するために、borderStyleを設定してbackgroundColor行にコメントを付けるだけです。 iOS4とiOS5の両方がうまく動作します。

// textField.backgroundColor = [UIColor clearColor]; // just leave it, dont't set 
textField.borderStyle = UITextBorderStyleRoundedRect; 
+0

私はこれが私のために固定されていると確信しているので、これを正しくマークしていますが、漠然とした問題であるため、正直でも100%になることはできません。 – Simon

+0

これは私にとっても正解でした。この1回の変更を行い、問題が解決されました.iOS 4.3から5.1までのすべてのテストで解決されました。 (私のプロジェクトの問題は、正確に元の投稿に記載されていたとおりでした。) – Douglas

1

時々、あなたのプロジェクトを再構築する必要があります。また、これを全く新しいプロジェクトで試してみて、実際にXcodeの新しい変更であるのか、それを狭める特定のプロジェクトであるのかを確認してください。その後、特定のプロジェクトに何か問題があると分かれば、それがクリックされたかどうかを確認してください。これは、私は、あなたがデバイス上で実行されているのiOSのバージョンを確認し、この

float version = [[[UIDevice currentDevice]systemVersion]floatValue]; 
if(version < 5.0) 
{ 
//user clear color 
}else 
{ 
//use white color 
} 

希望のように、それに応じて処理を行うことができます。この問題を解決するためにやったことある=)

2

:しかし、私はあなたがそれを解決見ますこれはあなたを助けます。

関連する問題