Apple的iPhone应用程序(如Music和Contants)在UITableView中使用搜索栏.向下滚动以使搜索栏向下移动时,滚动视图内容上方的空白区域呈浅灰色背景颜色(请参见屏幕截图).
(请注意,搜索栏顶部有一条稍暗的边线.这不适用于默认的UISearchBar,但是子类应该处理它.)
我尝试设置UITableView的背景颜色,但这也会影响行.有谁知道如何实现这种效果?我是否必须覆盖实现drawRect:或者是否有内置方式?
所以我尝试了所有尝试将搜索栏放入Swift导航栏的内容.但遗憾的是,我还没有让它发挥作用,
对于那些不知道我在说什么的人,我正试图做这样的事情
请注意导航栏中的搜索栏.所以这就是我目前正在使用的内容
self.searchDisplayController?.displaysSearchBarInNavigationBar = true
Run Code Online (Sandbox Code Playgroud)
我把它弹出我的viewDidLoad
,然后当我加载我提出的应用程序,只是一个空的导航栏.... :(任何想法?
如何在NavigationBar中显示UISearchBar?
我无法弄清楚如何做到这一点.
非常感激您的帮忙.
对于我们应用程序中的UISearchBars,在iOS 7下运行时,栏中没有显示带焦点的光标.我们如何制作该节目?
我们正在使用SDK 7,最小目标为6.我们确实关闭导航栏的半透明效果,并在运行时设置颜色.我想不出别的什么我们做得与众不同.
在iPhone上的联系人应用程序中输入搜索词,然后点击"搜索"按钮,键盘被隐藏,但取消按钮仍然启用.在我的应用程序中,当我调用resignFirstResponder时取消按钮被禁用.
任何人都知道如何在取消按钮处于启用状态的同时隐藏键盘?
我使用以下代码:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
键盘滑出视图,但搜索文本字段右侧的"取消"按钮被禁用,因此我无法取消搜索.联系人应用程序将取消按钮维持在启用状态.
我想也许一个解决方案是深入到searchBar对象并在实际文本字段上调用resignFirstResponder,而不是搜索栏本身.
任何输入赞赏.
如何更改文本颜色UISearchBar
的iOS 7
?
在iOS 6
,我是子类化UISearchBar
和layoutSubviews
定制UITextField
子视图的属性UISearchBar
.
但在iOS 7
,UISearchBar
没有UITextField
作为其子视图.如何解决这个问题?
我正试图在iOS 7中删除UISearchBar的边框.在iOS 6中,它工作正常.我以编程方式创建了UISearchBar.我几乎尝试了Stack Overflow和Google的所有内容.
SearchBar正在寻找
我想要实现的目标
我尝试了下面提到的所有这些东西
searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor];
Run Code Online (Sandbox Code Playgroud)
和
for (id img in searchBar.subviews)
{
if ([img isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
[img removeFromSuperview];
}
}
Run Code Online (Sandbox Code Playgroud)
和
for (UIView *sub in self.tableView.tableHeaderView.subviews) {
if ([sub isKindOfClass:[UIImageView class]]) {
sub.hidden = YES;
}
}
Run Code Online (Sandbox Code Playgroud)
但仍然没有成功.
如何更改字体大小UISearchBar
?
编辑:
答案
for(int i =0; i<[searchbar.subviews count]; i++) {
if([[searchbar.subviews objectAtIndex:i] isKindOfClass:[UITextField class]])
[(UITextField*)[searchbar.subviews objectAtIndex:i] setFont:[UIFont fontWithName:@"Helvetica" size:12]];
}
Run Code Online (Sandbox Code Playgroud)
谢谢
Pankaj
我尝试在swift上创建我的搜索栏,但是当我按下搜索栏时,我有一个问题就是在屏幕上关闭键盘.当我尝试使用textfield时,它可以很好地使用此代码.
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
self.view.endEditing(true)
}
Run Code Online (Sandbox Code Playgroud)
当我按下我的文本字段然后键盘消失时,它工作.我想用我的搜索栏制作这样的东西,因为当我使用搜索栏并使用与textfield相同的方式时,它根本不起作用.任何参考或代码对我都非常有用.
我想在iOS 11搜索栏中嵌入导航栏时更改文本和图标的颜色.所以占位符文本,搜索文本和搜索图标.
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = false
let searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = false
searchController.searchBar.placeholder = "Suchen"
searchController.searchBar.tintColor = .white
}
Run Code Online (Sandbox Code Playgroud)
正如您在图像中看到的那样,文本在深蓝色背景上呈灰色,看起来很难看.我希望文字和图标至少是白色的.(改变蓝色背景颜色也行不通,请看我的其他问题)
唯一有效的方法是改变闪烁光标的颜色和"取消"按钮,这是通过.tintColor属性完成的.
似乎在iOS 10及以下版本中工作的解决方案在iOS 11中似乎不再起作用,因此请仅发布您在iOS 11中工作的解决方案.谢谢.
也许我错过了iOS 11中关于这种"自动样式"的观点.任何帮助都表示赞赏.
uisearchbar ×10
ios ×5
swift ×3
ios7 ×2
iphone ×2
keyboard ×1
objective-c ×1
searchbar ×1
uifont ×1
uikit ×1
uitableview ×1
xcode ×1