UISearchBarの内部でUITextFieldの位置を変更する方法はありますか? 私はUITextFieldをUISearchBar内で少し動かしたいと思います。UISearchBarでUITextFieldの位置を変更するにはどうすればよいですか?
6
A
答えて
12
UITextFieldアプローチは、おそらくUISearchBarオブジェクトのリビルドのためには機能していません。 UITextFieldがスクリーン上に提示されると、UITextFieldのサイズが変更され、UITextField上のすべての操作が無効になります。
しかし、私はUISearchBarがsetContentInset:
メソッド(iOS 5.0.1でテスト済み)に応答することを発見しました。囲みビューからの挿入距離を調整します。
この結果NSInvocationを含む洗練されたアプローチで:
if([aSearchBar respondsToSelector:@selector(setContentInset:)])
{
SEL aSelector = NSSelectorFromString(@"setContentInset:");
NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[aSearchBar methodSignatureForSelector:aSelector]];
[inv setSelector:aSelector];
[inv setTarget:aSearchBar];
UIEdgeInsets anInsets = UIEdgeInsetsMake(5, 0, 5, 35);
[inv setArgument:&anInsets atIndex:2]; //arguments 0 and 1 are self and _cmd respectively, automatically set by NSInvocation
[inv invoke];
}
上記のコードはCGRectを使用UISearchBar(有効UITextFieldの)のcontentInset
のサイズを変更は、anInsets
パラメータで示さ。親if文(respondsToSelector:
)は、新しいバージョンのiOSでこの動作が変更されないようにします。
はSwift3とiOS10のための更新:
if searchBar.responds(to: Selector("setContentInset:")) {
let aSelector = Selector("setContentInset:")
let anInset = UIEdgeInsetsMake(5, 0, 5, 35)
searchBar.perform(aSelector, with: anInset)
}
関連する問題
- 1. トライの位置IDを位置IDに変換するにはどうすればよいですか? Verilog
- 2. アンドロイドで編集テキストの位置をプログラムで変更するにはどうすればよいですか?
- 3. iOSで風景モードでボタンの位置を変更するにはどうすればよいですか?
- 4. xamarinフォームで手動でエントリのカーソル位置を変更するにはどうすればよいですか?
- 5. コードでAccessでフォームの位置を変更するにはどうすればよいですか?
- 6. マウスの移動でキャンバスの子の位置を変更するにはどうすればよいですか?
- 7. グリッドビューの画像上でクリックリスナの位置を変更するにはどうすればよいですか?
- 8. ハイチャートのデータラベルを新しい位置に変更するにはどうすればよいですか?
- 9. マウスの位置に基づいてGTKLabelを変更するにはどうすればよいですか?
- 10. IOS 7のUISearchBarで拡大鏡アイコンの位置や非表示を変更するにはどうすればよいですか?
- 11. WPFツールチップをトリガするマウスの位置を変更するにはどうすればよいですか?
- 12. Drupalでフッターの位置を変更するにはどうすればよいですか?
- 13. AddInsメニュー(Excel VBA)でカスタムコマンドボタンの位置を変更するにはどうすればよいですか?
- 14. 線形レイアウトでビューの位置を変更するにはどうすればよいですか?
- 15. Highchartsで凡例の位置を変更するにはどうすればよいですか?
- 16. UITableViewでテキストの位置を変更するにはどうすればよいですか?
- 17. Android - タブでテキストと画像のデフォルト位置を変更するにはどうすればよいですか?
- 18. ダイグラフでx軸の位置を変更するにはどうすればよいですか?
- 19. Googleのストリートビューで位置戻しボタンを変更するにはどうすればよいですか?
- 20. OpenGL/Glutでマウスカーソルの位置を変更するにはどうすればよいですか?
- 21. Bing Maps 7でナビゲーションバーの位置を変更するにはどうすればよいですか?
- 22. Delphiでヘルプポップアップウィンドウの位置を変更するにはどうすればよいですか?
- 23. XamarinフォームでmyLocationButtonとTrue Northボタンの位置を変更するにはどうすればよいですか?
- 24. キーボードを隠した後にテキストフィールドの位置を変更するにはどうすればよいですか?
- 25. ヘッドの位置を別のフォルダに変更するにはどうすればよいですか?
- 26. ラジオボタンの位置をテキストの反対側に変更するにはどうすればよいですか?
- 27. tabularnewlineの後にコンテンツの垂直位置を変更するにはどうすればよいですか?
- 28. カードレイアウトの位置をtablayoutの下部に変更するにはどうすればよいですか?
- 29. UISearchBarを四角形から四角形に変更するにはどうすればよいですか?
- 30. jquery UIスライダ:スライダの位置をプログラム的に変更するにはどうすればよいですか?
私はあなたがあなた自身の検索バーを実装するために持っていると思います。 – Legolas