2012-04-11 5 views
0

iOSのsearchFieldのように、大きなコーナーの半径を持つテキストフィールドをobjective-cで作成しようとしています。 私のxibでは、私はUITextFieldを追加しました。 私はこのようなObjective-Cでテキストフィールドのスタイル:コーナーの半径を持つUITextView:入力の白い背景がラウンドコーナーと重なっています

// corner radius 
textField.layer.cornerRadius = 20.0f; 
textField.layer.masksToBounds = YES; 
textField.backgroundColor = [UIColor clearColor]; 

[textField setFont:[UIFont fontWithName:@"Univers-Condensed-Medium" size:18.0]]; 

結果:入力のコーナーが表示されていない、いくつかの白の背景には、これらをオーバーレイ。 あなたはこの画像で問題を見ることができます:

Screenshot of the problem

は、私のようないくつかのことを試してみました:私も(単なるテスト用)アイコンを追加

textField.leftView.opaque = NO; 
textField.leftView.backgroundColor = [UIColor clearColor]; 

textField.inputView.opaque = NO; 
textField.inputView.backgroundColor = [UIColor clearColor]; 

textField.rightView.opaque = NO; 
textField.rightView.backgroundColor = [UIColor clearColor]; 

すべてが同じ結果を与えました。 コーナーを表示するには何が必要ですか?

答えて

2

私はいくつかのテストを行いましたが、白い背景の重なりはありませんでした。コーナーの半径を変更したときのように、テキストフィールドのように見えます。テキストフィールドが内部にあるUIViewの背景色を変更し、常にこのようになることを確認してください。

残念ながら、cornerRadiusを変更して、ここに投稿した方法で表示したい場合は、多分背景画像を使用する必要があります。わかりません。

私があなただったら、cornerRadiusなしでtextFieldを使用します。

+0

OK、あなたが何を意味しているのか分かります。私は人々がそれを働かせているインターネット上のいくつかのスレッドを見て、何か他の私はテキストボックスがこのように表示されている理由を間違っていますか? – Bocaxica

+0

'[textField.layer setBorderWidth:1.0];のような境界線を設定することができます。これは、あなたが何を望むかに依存します。私が言っているのは、ここに表示されるコードに対してテキストフィールドが期待される動作をしているということです。もし私があなたが欲しいものを正確に見せてくれたら、私はもっとあなたを助けることができます。 – ggrana

+0

私は検索バーのフィールドのように見えるテキストフィールドを持っています。だから、私がしようとしていたのは、textfieldにUITextBorderStyleBezelをcornerradiusで指定することでした。 AppleがUITextBorderStyleBezelの画像を使用していると思いますので、コーナーの半径を適用すると画像の角が表示されません。テキストフィールドのカスタム背景画像を使用して解決しました。 – Bocaxica

関連する問題