Bu biraz bir çözümdür. Eğer arama çubuğunun metin alanını almak ve metin hizalamasını ortalamak için gereken tüm
İlk
:
let textFieldOfSearchBar = searchController.searchBar.value(forKey: "searchField") as? UITextField textFieldOfSearchBar?.textAlignment = .center
Bundan sonra, yer tutucu hizalamasını değiştirmek gerekir. Bazı nedenlerden dolayı metin alanının hizalanması ile değişmez.
func presentSearchController(_ searchController: UISearchController) {
//Is active
let width: CGFloat = 100.0 //Calcualte a suitable width based on search bar width, screen size, etc..
let textfieldOfSearchBar = searchController.searchBar.value(forKey: "searchField") as? UITextField
let paddingView = UIView(x: 0, y: 0, w: width, h: searchController.searchBar.frame.size.height)
textfieldOfSearchBar?.leftView = paddingView
textfieldOfSearchBar?.leftViewMode = .unlessEditing
}
func willDismissSearchController(_ searchController: UISearchController) {
let textfieldOfSearchBar = searchController.searchBar.value(forKey: "searchField") as? UITextField
textfieldOfSearchBar?.leftView = nil
}
İyi şanslar
Evet ben de merkeze koymak istiyorum. Apple'ın searchBar.placeHolder.textAlignment = NSTextAlignmentCenter ayarını yapması ne kadar zor? – coolcool1994