答えて
for (UIView *searchBarSubview in [mySearchBar subviews]) {
if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {
@try {
[(UITextField *)searchBarSubview setBorderStyle:UITextBorderStyleRoundedRect];
}
@catch (NSException * e) {
// ignore exception
}
}
}
:ターゲット画像で
mySearchBar.subviews().forEach { searchBarSubview in
if searchBarSubview is UITextInputTraits {
do {
(searchBarSubview as? UITextField)?.borderStyle = .roundedRect
} catch {
// ignore exception
}
}
}
シンプル追加背景画像、あなたのTextFieldのためのビューと右ビューを残しました。私たちの以前のプロジェクトで
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 10., nameField.bounds.size.height)];
nameField.leftView = leftView;
nameField.leftViewMode = UITextFieldViewModeAlways;
leftView release];
テキストフィールド? – Desmond
UISearchBarが丸い曲線を持っており、それが
UIView
を使用し、これらの機能を使用します。
- フレームを設定します。
- あなたのクラスのインポートCoreGraphicsは
は -
ビューの白い背景を設定 - view.layer.cornerRadius=10;
を設定 - view.layer.borderWidth=8;
を設定 - 設定view.layer.borderColor=[UIColor blackColor].CGColor;
- 作成されたビュー
の内側(明確なバックグラウンドを持つ)ラベルを挿入 左のボタンについては、右のボタンセットにはuiimageを使用します。textField.clearButtonMode= UITextFieldViewModeAlways;
希望します。スウィフト4
のように見えるのは難しいですが、私はそれをそのまま残すと思います。あなたのために働くことが起こったら、私に知らせてください。 ありがとう:) – Desmond
は、私は、デフォルトの影が表示されていないので、私はnilに背景プロパティを設定すると、それを削除することを言及します。私は私のプロジェクトでこれを行う必要があったと画像を削除し、境界を操作するうまく動作します。コントロールをキャストして、背景のプロパティに到達する必要がありました。
UITextField * x = (UITextField*)searchBarSubview;
x.background = nil;
@Kellerはコントロールを見つけるためのヒントをありがとう。
これを試してもよろしいですか?私の意見では
for (UIView *searchBarSubview in [search_bar subviews]) {
if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {
if([searchBarSubview isKindOfClass:[UITextField class]])
{
[(UITextField *)searchBarSubview setBorderStyle:UITextBorderStyleRoundedRect];
}
}
}
はるかに良い:
UITextField *txfSearchField = [_searchBar valueForKey:@"_searchField"];
txfSearchField.borderStyle = UITextBorderStyleNone;
私も最近UISearchBarオブジェクトのサブビューを横断して、プロジェクトでこれを達成しました。しかし、テキストフィールドは、受け入れられた回答が示唆しているように直接の子ではなく、別のサブビューのサブビューでした。おそらく、内部ビューの階層はある時点で変更されていました。 (SDK 8。4)
+ (void)setSearchBar:(UISearchBar *)searchBar cornerRadius:(CGFloat)radius {
//set searchbar corner radius
for(UIView *possibleSearchBarTextFieldSuperview in [searchBar subviews]) {
if([[possibleSearchBarTextFieldSuperview subviews] count] > 0) {
for(UIView *possibleInnerSearchBarTextField in [possibleSearchBarTextFieldSuperview subviews]) {
if([possibleInnerSearchBarTextField conformsToProtocol:@protocol(UITextInputTraits)]) {
possibleInnerSearchBarTextField.layer.cornerRadius = radius;
possibleInnerSearchBarTextField.layer.masksToBounds = YES;
return;
}
}
}
}
}
それはおそらくApp Storeの安全ですので、SDKの将来の変更での作業を停止する余地があるが、この方法は、任意の文書化されていないメソッドを使用していません。
なぜUIAppearance
プロトコルを使用しないのですか?スウィフト
[[UITextField appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]] setBorderStyle:UITextBorderStyleRoundedRect];
から3
let textFieldInsideUISearchBar = searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideUISearchBar?.borderStyle = .none
textFieldInsideUISearchBar?.backgroundColor = UIColor.white
@ Pierre.Vriensどのラインですか? –
これらのすべて。言い換えれば、説明のない「いくつかのコード」を投稿するだけで、一般的に高品質の回答ではないと認識されます。だから、あなたが投稿したコードが質問に答えるのを助ける方法を簡単に説明したいかもしれない。がんばろう! –
@ Pierre.Vriensは受け入れられたコメントを見て、説明する必要はありません。 あなたのUIViewControllerにコピーして貼り付けてください。 –
- 1. 四角形ではない四角形に四角形を適用できますか?
- 2. SVG一角コーナー四角形/四角形
- 3. html5キャンバスアニメーションで四角形の四角形を変更する方法
- 4. アプリケーションの上に四角形を描画し、四角形の座標/サイズを取得し、四角形の下のイメージが変更されているかどうかを確認するにはどうすればよいですか?
- 5. 四角形を移動したときに四角形にとどまるように四角形を更新する
- 6. 三角形の2Dメッシュを四辺形に変換するにはどうすればよいですか?
- 7. Processing.Jsで四角形を作るにはどうすればいいですか?
- 8. iPhone SDKを使用して四角形の四角形の外側の角をクリアするにはどうすればよいですか?
- 9. オーバービューマップ(Google Maps v3)で四角形の色を変更するにはどうすればよいですか?
- 10. 大量の四角形の色を変更するにはどうすればよいですか?
- 11. winformsグリッドの四角形の背景色を変更するにはどうすればよいですか?
- 12. C++で継承を使用する四角形、円形、四角形の領域
- 13. 四角形を四角形にマップするためのCATransform3Dを返します。
- 14. これらの四角形を分離するにはどうすればよいでしょうか?
- 15. StackPanelの四角形
- 16. ジェスチャーと四角形
- 17. フルスクリーンコードブロック/バナー(四角形)
- 18. キャンバス上に四角形を描画すると、1つの四角形しか描画されない
- 19. Qt:ウィンドウの四角形のサイズ変更
- 20. 変更四角形のプロパティ/ WPF
- 21. cssの三角形の四角形
- 22. HTMLで四角形が消えるようにするには
- 23. メニューの青い四角形
- 24. イメージアニメーション:円から四角形へ。 (with corner.js)
- 25. ImageMagickサークルからの四角形?
- 26. Dashcodeの四角形の四角形リストから行の値を取得する方法は?
- 27. 四角形のための三角形のプログラムを変更する方法
- 28. tess4j doOCRの四角形の座標はどうですか?
- 29. 四角形のUIImageを丸い矩形に入れます
- 30. プロットしてサブプロットに四角形を描画するにはどうすればよいですか?
はい、この作品!!!!!ありがとう@ケラー – Desmond
次に、searchBarTextField.layer.cornerRadius = 5.0でコーナー半径を制御できます。 – esbenr
([searchBarSubview respondsToSelector:@sel(setBorderStyle)])であれば、 ' [(UITextFieldの*)searchBarSubview setBorderStyle:UITextBorderStyleRoundedRect];' –