iOS 修改SearchBar的Textfiled的Cursor游标颜色和字体样式和大小;Disable输入框

因为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.subviews){
            if ( [subview isKindOfClass:[UITextField class]] ){
                [subview setEnabled:YES];
                return;
            }
        }
    }
}

- (void)disableTextInput:(UISearchBar *)searchBar{
    for (UIView *view in searchBar.subviews){
        for (id subview in view.subviews){
            if ( [subview isKindOfClass:[UITextField class]] ){
                [subview setEnabled:NO];
                return;
            }
        }
    }
}

参考链接:

http://stackoverflow.com/questions/9968595/how-to-enable-cancel-button-with-uisearchbar

http://stackoverflow.com/questions/11606007/change-uitextfield-and-uitextview-cursor-caret-color

http://stackoverflow.com/questions/2190352/change-color-of-cursor-in-text-field

http://stackoverflow.com/questions/9169049/disable-uisearchbar

时间: 2024-11-04 14:21:44

iOS 修改SearchBar的Textfiled的Cursor游标颜色和字体样式和大小;Disable输入框的相关文章

修改phpstorm的字体样式和大小

默认的字体实在太小,也太丑,必须修改下.就是强迫症,没错.下面截图配文字说明下 方法/步骤 首先进入设置,不解释   先设置软件界面上的字体.进入设置之后,选择(外观)Appearance.之后软件的截图就会变的清晰不少啦.   然后再设置编辑器内容的字体和大小.如图进入编辑器之后,选择“字体和颜色”,然后先随便保存一个.必须先保存一个才能修改.   然后做配置,最后保存.整个截图的好看多了.好不好看,习不习惯,全看自己喜欢的配置了.

Android -- 代码方式修改显示的字符串、字体的大小、字体颜色、字体样式

1. 效果图    系统或自定义 2. 代码 firstActivity.java package iflab.test; import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.widget.TextView; import android.widget.Toast; public cl

cursor(游标)

原理:游标就是把数据按照指定要求提取出相应的数据集,然后逐条进行数据处理. 游标的概念 1.1游标(Cursor) 它使用户可逐行访问由SQL Server返回的结果集. 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式. 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合. 游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录. 1.2SQL语言与主语言具有不同数据处理方式 (

SQL SERVER CURSOR游标的使用(转载)

一:认识游标 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集. 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式. 用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合. 游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录. 二:游标的基本形式 声明游标:形式1DECLARE cursor_name [INSENSITIVE] [SCROLL] CURS

转 oracle cursor 游标

转自:http://blog.csdn.net/liyong199012/article/details/8948952 游标的概念:     游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率. 游标有两种类型:显式游标和隐式游标.在前述程序中用到的SELECT...I

DRF url控制 解析器 响应器 版本控制 分页(常规分页,偏移分页,cursor游标分页)

url控制 第二种写法(只要继承了ViewSetMixin) url(r'^pub/$',views.Pub.as_view({'get':'list','post':'create'})), #获取所有记得路由后面加$结束符 #pub/?format=json url(r'^pub\.(?P<format>\w+)$',views.Pub.as_view({'get':'list','post':'create'})), #pub.json url(r'^pub/(?P<pk>\

修改SearchBar的取消按钮Cancel为中文

一开始在网上看到很多方法都是循环,好吧,我也循环 创建UISearchBar的时候循环,不行 用searchBarTextDidBeginEditing事件去循环,也不行 无语了,搜索了Baidu第一页都是循环的,找了半小时,总算是找到原因了 原来在IOS7以后UISearchBar的循环需要searchBar.subviews[0] subviews 示例见如下: ///#begin////功能描述:修改SearchBar的Cancel Button 的Title//  注意点://     

iOS修改默认Xcode版本的方法

电脑中装了二个xcode版本,一个是xcode6-beta,一个是xcode5.1.1,每次打开工程时,默认是用xcode6-beta打开.在简介中修改打开方式也没用,没来在stackoverflow中找到答案 After reading about LaunchServices in OS X I have finally found the solution, thanks for the hint @peter-m. To modify files association for cert

iOS—修改AFNetworking源文件可接收text/plain的方法

iOS—修改AFNetworking源文件可接收text/plain的方法 在使用AFNetworking的时候可能会碰到下面的错误: { status code: 200, headers { "Content-Length" = 14; "Content-Type" = "text/plain;charset=utf-8"; Date = "Thu, 22 May 2014 10:37:50 GMT"; Server =