有没有办法重新定位的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