有沒有辦法重新定位的UITextField裏面的UISearchBar? 我想在UISearchBar中將UITextField移動一點點。如何更改UISearchBar中的UITextField位置?
6
A
回答
12
的UITextField做法是不工作了,可能是由於物體的UISearchBar的改型。 UISearchBar在其顯示在屏幕上時調整其UITextField的大小,這會使UITextField上的所有操作無效。
不過,我發現的UISearchBar響應setContentInset:
方法(在iOS 5.0.1測試)。它調整封閉視圖的插入距離。
該結果在涉及NSInvocation的一個複雜的方法:在使用的CGRect
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];
}
上面的代碼大小調整的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. 如何更改iphone中UISearchBar的UiSearchbar高度,寬度,顏色和Uitextfield高度?
- 2. 在uisearchbar下爲佔位符設置UITextField
- 3. 更改UISearchBar中UItextField中圖標的顏色
- 4. 如何更改UISearchBar寬度
- 5. 如何在iOS7中更改UISearchBar的inputView?
- 6. 更改的UISearchBar
- 7. 如何在iOS 7的UISearchBar中更改位置或隱藏放大鏡圖標?
- 8. UITextField中的更改
- 9. 如何更改iOS中的行數UITextField
- 10. UITextField從UISearchBar返回
- 11. 改變的UITextField的位置UIView的
- 12. UISearchBar更改佔位符顏色
- 13. 如何更改裏面的UISearchBar
- 14. 做的UITextField像的UISearchBar
- 15. 如何更改android中imageview的位置?
- 16. 如何更改FF中的iframe位置
- 17. 如何更改GMSMapView中的myLocationButton位置?
- 18. 如何更改JFrame中JLabel的位置?
- 19. 如何更改Emacs中的minibuffer位置?
- 20. UISearchBar Scope Bar位置?
- 21. 如何更改wordpress位置
- 22. 如何更改gitconfig位置?
- 23. 如何更改admob位置
- 24. 如何更改MessageBox位置?
- 25. 如何更改錨位置
- 26. 如何更改UITabBarItem位置?
- 27. 通過UITextField的UISearchBar功能
- 28. 自定義UISearchbar的UITextfield - iOS
- 29. uitextfield中的光標位置
- 30. 如何更改Firefox的位置設置
我認爲你必須實現自己的搜索欄。 – Legolas