因为Search Bar的游标颜色和Tint颜色是统一的,如果要想将游标的颜色设置为其他颜色,则需要到textfiled内部去修改,对于字体也是同样。
实现代码:
- (void)setSearchBarTextfiled:(UISearchBar *)searchBar{
for (UIView *view in searchBar.subviews){
for (id subview in view.subviews){
if ( [subview isKindOfClass:[UITextField class]] ){
[(UITextField *)subview setTintColor:[UIColor grayColor]];
[(UITextField *)subview setFont:[UIFont fontWithName:GENERAL_FONT size:13]];
return;
}
}
}
}
如果要实现用户不能输入到搜索框中,则需要是textfiled的输入失效:
一种方法是对于整个Searchbar设置Disable,但是这样如果有Scope Button等其他组件的话,也会连同失效:
[searchBar setUserInteractionEnabled:NO];
实现代码:
- (void)enableTextInput:(UISearchBar *)searchBar{
for (UIView *view in searchBar.subviews){
for (id subview in view.s

在iOS开发中,若要修改SearchBar的Cursor游标颜色及字体样式、大小,通常需要深入到TextField内部进行设置。由于默认游标颜色与Tint颜色相同,所以要单独定制。此外,若要禁用SearchBar的输入功能,但保留其他组件如Scope Button的功能,需要注意相应的方法和技巧,可以通过Stack Overflow上的相关问题解答来实现。
3万+

被折叠的 条评论
为什么被折叠?



