搜索框里怎么添加clearbuttonmode 颜色 就是x按钮

ExtJs3.X里Toolbar的addButton怎么动态添加不了按钮? - ITeye问答
var newWin=new Ext.Button({
text:"新建窗口",
pressed:true,
handler:function(){
var win=new Ext.Window({
title:"窗口"+(i++),
width:400,
height:300,
minimizable:true,
listeners:{
//最小化窗口事件
minimize:function(window){
window.hide(win.button.id);
window.minimizable=
close:function(window){
remove:{win.button.id,true};
win.show(newWin.id);
win.getUpdater().update({url:"inner.html"});
win.button=new Ext.Button({
id:"id"+i,
text:win.title,
pressed:true,
handler:function(btn){
if(btn.win.minimizable){
btn.win.show(btn.id);
btn.win.minimizable=
btn.win.hide(btn.id);
btn.win.minimizable=
toolBar.addButton(win.button);
var toolBar=new Ext.Toolbar({
height:25,
renderTo:Ext.getBody(),
请大家帮我看一下这些代码,我想实现的功能是,首先在页面上有一行工具栏,然后工具栏刚开始有
“新建窗口”按钮,当你点击按钮的时候,会新建一个窗口,并且在工具栏上会出现一个和这个窗口关联的按钮,可以实现最小化。就相当于我们用的系统每打开一个软件,任务栏就会多了一个按钮,并且该窗口可以最小化到任务栏的这个按钮上。
以上这些代码在ExtJs2.x可以实现这些功能。但在ExtJs3.x上,当你新建一个窗口的时候,那工具栏并没有新建一个按钮。小弟是自学的,并不清楚为什么会这样子,请大家帮忙,我都纠结整整三天了。先谢过了
问题补充:OK...问题解决啦。那些代码本身就有实现按钮的添加,只是还需要调用一下工具栏刷新,才能看到新添加的按钮。toolBar.doLayout();
用什么extjs3络, 2就可以了。自己拓展功能。
已解决问题
未解决问题iOS App开发中UISearchBar搜索栏组件的基本用法整理
作者:iOS UI
字体:[ ] 类型:转载 时间:
iOS开发组件中自带的UISearchBar提供了很多基础和好用的搜索栏UI功能,下面就来总结一下iOS App开发中UISearchBar搜索栏组件的基本用法整理,需要的朋友可以参考下
@UISearchBar search = [[UISearchBar alloc]initWithFrame:CGRectMake(0,44,320,120)];
pragma mark -基本设置
//控件的样式 默认--0白色,1是黑色风格
UIBarStyleDefault&&&&&&&&& = 0,
UIBarStyleBlack&&&&&&&&&&& = 1,
search.barStyle =UIBarStyleD
UISearchBarStyleDefault,
// currently UISearchBarStyleProminent
UISearchBarStyleProminent, // used my Mail, Messages and Contacts(provides no default background color or image but will display one if customized as such系统提供的颜色和图片无效,自定制有效)
&&&& UISearchBarStyleMinimal&&& // used by Calendar, Notes and Music
&&& search.searchBarStyle =UISearchBarStyleD
&&& // 控件上面的显示的文字
&&& search.text =@"HMT";
&&& // 显示在顶部的单行文字,通常作为一个提示行
&&& search.prompt =@"DOTA";
&&& // 半透明的提示文字,输入搜索内容消失
&&& search.placeholder =@"请输入要搜索的词语";
&&& // bar的颜色(具有渐变效果)搜索栏闪动条和选择栏边框,取消按钮和选择栏被选中时候都会变成设置的颜色
&&& search.tintColor = [UIColor redColor];
&&& // 除搜索栏框框,就像贴了一张镂空了搜索栏的颜色贴图,不影响其他任何设置的颜色
&&& search.barTintColor = [UIColor whiteColor];
&&& // 指定控件是否会有透视效果
&&& search.translucent =YES;
&&& // 设置在什么的情况下自动大写
&&&& UITextAutocapitalizationTypeNone,&&&&&&&&&&&& //除非自己点击大写,否则永不大写
&&&& UITextAutocapitalizationTypeWords,&&&&&&&&&&& //以单词来区分,每个单词首字母大写
&&&& UITextAutocapitalizationTypeSentences,&&&&&&& //以句子来区分
&&&& UITextAutocapitalizationTypeAllCharacters,&&& //所有字母全部大写
&&& search.autocapitalizationType =UITextAutocapitalizationTypeN
&&& // 对于文本对象自动校正风格(额,我也不知道有什么用)
&&&& UITextAutocorrectionTypeDefault,
&&&& UITextAutocorrectionTypeNo,
&&&& UITextAutocorrectionTypeYes,
&&& search.autocorrectionType =UITextAutocorrectionTypeNo;
&&& // 键盘的样式(具体可参考文章UITableView详解(一))
&&& search.keyboardType =UIKeyboardTypeNumberP
pragma mark - 设置搜索栏右边按钮图标(UISearchBarIcon)
&&& // 是否在控件的右端显示一个书的按钮
&&& search.showsBookmarkButton =YES;
&&& // 是否显示cancel按钮(静态)
&&& //search.showsCancelButton = YES;
&&& // 是否显示cancel按钮(带有动画效果)
&&& [search setShowsCancelButton:YES animated:YES];
&&& // 是否在控件的右端显示搜索结果按钮(图形是一个圆里面放着一个向下的箭头)
&&& search.showsSearchResultsButton =YES;
&&& // 搜索结果按钮是否被选中
&&& search.showsSearchResultsButton =YES;
&&& // 设置控件的右端显示搜索结果按钮处 --- 可用图片替换掉
&&& [search setImage:[UIImage imageNamed:@"qiyi.png"]forSearchBarIcon:UISearchBarIconResultsList state:UIControlStateNormal];
pragma mark - 搜索栏下部选择栏
&&& // 搜索栏下部的选择栏,数组里面的内容是按钮的标题
&&& search.scopeButtonTitles = [NSArray arrayWithObjects:@"iOS",@"Android",@"iPhone",nil];
&&& // 进入界面,搜索栏下部的默认选择栏按钮的索引(也就是第一出现在哪个选择栏)
&&& search.selectedScopeButtonIndex =2;
&&& // 控制搜索栏下部的选择栏是否显示出来(显示的话,就要修改search的frame,不显示的话80就够了)
&&& search.showsScopeBar =YES;
pragma mark - 设置控件图片
&&& // 设置控件背景图片
&&& search.backgroundImage = [UIImage imageNamed:@"qiyi.png"];
&&& // 设置搜索栏下部背景图片
&&& search.scopeBarBackgroundImage = [UIImage imageNamed:@"qiyi.png"];
pragma mark - 协议UISearchBarDelegate
(不解释了,看名字,已经很明显了)
&// UISearchBar得到焦点并开始编辑时,执行该方法
(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchB&&&&&&&&&& // return NO to not become first responder
(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{&&&&&&&&& // called when text starts editing
&&&&&&&&& [searchBar setShowsCancelButton:YES animated:YES];&& //& 动画显示取消按钮
(BOOL)searchBarShouldEndEditing:(UISearchBar *)searchB&&&&&& // return NO to not resign first responder
(void)searchBarTextDidEndEditing:(UISearchBar *)searchB&&&&&&&&&&& // called when text ends editing
(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{&& // called when text changes (including clear)
&& @ 当搜索内容变化时,执行该方法。很有用,可以实现时实搜索
(BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)textNS_AVAILABLE_IOS(3_0);&&&&&&&&&&&&&&&& // called before text changes
(void)searchBarSearchButtonClicked:(UISearchBar *)searchB&&&& // called when keyboard search button pressed
(void)searchBarBookmarkButtonClicked:(UISearchBar *)searchB&&&&&&& // called when bookmark button pressed
(void)searchBarCancelButtonClicked:(UISearchBar *) searchBar{&&&&&&&&&& // called when cancel button pressed
&&& [searchBar setShowsCancelButton:NO animated:NO];&&& // 取消按钮回收
&&& [searchBar resignFirstResponder];&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 取消第一响应值,键盘回收,搜索结束
(void)searchBarResultsListButtonClicked:(UISearchBar *)searchBarNS_AVAILABLE_IOS(3_2);// called when search results button pressed
(void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScopeNS_AVAILABLE_IOS(3_0);
数据刷选类:NSPredicate
@假设: NSArray array = [[NSArray alloc]initWithObjects:@"luna",@"moon",@"",@"lion",@"coco", nil];
// 数据的处理主要发生在这个方法中
(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
&&& // 方法一:([c]不区分大小写[d]不区分发音符号即没有重音符号[cd]既不区分大小写,也不区分发音符号。)
&&& NSPredicate * predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS [cd] %@",searchText];
&& //& 数组提供的快速遍历,返回的类型是NSArray
&& NSLog(@"%@",[ _array filteredArrayUsingPredicate:predicate]);
&&& // 方法二:
&&& for (int i = 0; i count]; i++) {
&&&&&&& if ([predicate evaluateWithObject:[ _array objectAtIndex:i]]) {
&&&&&&&&&&& NSLog(@"%@",[arrayobjectAtIndex:i]);
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具iOS开发项目—06搜索框
一、简单说明
在“发现”控制器的导航栏中间放置一个搜索框。
1.第一种实现方案
第一种实现方案:最简单的方案(直接使用系统的UISearchBar) 实现代码:
1 // 2 //YYDiscoverViewController.m 3 // 4
5 #import &YYDiscoverViewController.h& 6
7 @interface YYDiscoverViewController () 8
9 @end10 11 @implementation YYDiscoverViewController12 13 - (void)viewDidLoad14 {15 [super viewDidLoad];1617 //在导航栏按钮上,添加一个搜索框18 //使用UISearchBar19 UISearchBar *bar=[[UISearchBar alloc]init];20 //设置bar的frame21 bar.frame=CGRectMake(0, 0, 300, 35);22 self.navigationItem.titleView=23 24 }25 26 27 @end 页面显示效果:
当点击搜索框的时候的显示效果:
2.第二种实现方案: 第一种方案存在的不足之处:系统的搜索框偏白色,和导航栏的颜色很相近,显示效果很难看。 分析新浪微博应用,可以知道官方提供了放大镜和搜索框的背景图片。 那么第二种方案,我们尝试使用它提供的背景图片来完成搜索框的功能 导入相应的图片素材
首先,我们可以尝试给searchBar设置背景图片,查看效果。
1 // 2 //YYDiscoverViewController.m 3 // 4
5 #import &YYDiscoverViewController.h& 6
7 @interface YYDiscoverViewController () 8
9 @end10 11 @implementation YYDiscoverViewController12 13 - (void)viewDidLoad14 {15 [super viewDidLoad];1617 //在导航栏按钮上,添加一个搜索框18 /*第一种方案19 UISearchBar *bar=[[UISearchBar alloc]init];20 //设置bar的frame21 bar.frame=CGRectMake(0, 0, 300, 35);22 bar.backgroundImage=[UIImage resizedImage:@&searchbar_textfield_background&];23 self.navigationItem.titleView=24*/25 26 //第二种方案27 //使用UISearchBar28 UISearchBar *bar=[[UISearchBar alloc]init];29 //设置bar的frame30 bar.frame=CGRectMake(0, 0, 300, 35);31 bar.backgroundImage=[UIImage resizedImage:@&searchbar_textfield_background&];32 self.navigationItem.titleView=33 34 }35 36 37 @end 在ios7系统下,看不出有什么不同的效果,在IOS6的系统下运行,显示效果如下:
要去掉搜索框内部的椭圆属性,但是searchBar并没有为我们提供相应的方法,所以这种做法被放弃。 注意:对图片进行保护性拉伸,而不是平铺,searchBar自己的属性不好用,设置其样式时只支持ios7,放弃这种方法。 为Image提供一个分类,扩充方法: 分类方法的头文件为:
1 // 2 //UIImage+Extension.h 3 // 4
5 #import &UIKit/UIKit.h& 6
7 @interface UIImage (Extension) 8 /** 9
*根据图片名自动加载适配IOS6和iOS7的图片10*/11 + (UIImage *)imageWithName:(NSString *)12 13 /**14
*根据图片名返回一张能自由拉伸的图片15*/16 + (UIImage *)resizedImage:(NSString *)17 @end 扩充方法的实现为:
1 // 2 //UIImage+Extension.m 3 // 4
5 #import &UIImage+Extension.h& 6
7 @implementation UIImage (Extension) 8 + (UIImage *)imageWithName:(NSString *)name 9 {10 UIImage *image =11 if (iOS7) { // 处理iOS7的情况12 NSString *newName = [name stringByAppendingString:@&_os7&];13 image = [UIImage imageNamed:newName];14 }15 16 if (image == nil) {17 image = [UIImage imageNamed:name];18 }19 return20 }21 22 + (UIImage *)resizedImage:(NSString *)name23 {24 UIImage *image = [UIImage imageWithName:name];25 return [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];26 }27 @end 3.第三种实现方案: 使用一个textfield自定义一个搜索框。 设置搜索框的宽高,背景图片。 //第三种方案 UITextField *searchBar=[[UITextField alloc]init]; //设置frmae searchBar.width=300; searchBar.height=35; //设置背景图片 searchBar.background=[UIImage resizedImage:@&searchbar_textfield_background&]; //添加到导航栏中 self.navigationItem.titleView=searchB 显示效果如下:
新的问题 :光标(输入的文字)不居中,在类中没有垂直居中这个属性。
技巧 :一个属性如果找不到的话,可以去它的父类中进行查找
设置内容垂直居中(父类中的属性)
1 UITextField *searchBar=[[UITextField alloc]init]; 2 //设置frmae 3 searchBar.width=300; 4 searchBar.height=35; 5 //设置背景图片 6 searchBar.background=[UIImage resizedImage:@&searchbar_textfield_background&]; 7 //searchBar.textAlignment=NSTextAlignmentC//说明:这是设置文字水平居中 8 //设置文字内容垂直居中 9 searchBar.contentVerticalAlignment=UIControlContentVerticalAlignmentC10 //添加到导航栏中11 self.navigationItem.titleView=searchB
新的问题 :怎么往搜索框中放一个放大镜—使用leftView属性
1UITextField *searchBar=[[UITextField alloc]init]; 2 //设置frmae 3 searchBar.width=300; 4 searchBar.height=35; 5 //设置背景图片 6 searchBar.background=[UIImage resizedImage:@&searchbar_textfield_background&]; 7 //searchBar.textAlignment=NSTextAlignmentC//说明:这是设置文字水平居中 8 //设置文字内容垂直居中 9 searchBar.contentVerticalAlignment=UIControlContentVerticalAlignmentC10 //设置左边的放大镜11 UIImageView *leftView=[[UIImageView alloc]init];12 leftView.image=[UIImage imageWithName:@&searchbar_textfield_search_icon&];13 searchBar.leftView=leftV14 //添加到导航栏中15 self.navigationItem.titleView=searchB 添加之后,看不到放大镜? 解决方法,这里需要设置两个属性: (1)设置leftView的size (2)设置leftView的leftViewMode属性,因为leftViewMode默认情况下为永远不显示。 (3)调整距离 设置leftView的内容居中,让放大镜距离搜索框左边有一定的间距 contentMode=UIViewContentModeCenter 实现代码:
1 #import &YYDiscoverViewController.h& 2
3 @interface YYDiscoverViewController () 4
7 @implementation YYDiscoverViewController 8
9 - (void)viewDidLoad10 {11 [super viewDidLoad];1213 //在导航栏按钮上,添加一个搜索框14 /*第一种方案15 UISearchBar *bar=[[UISearchBar alloc]init];16 //设置bar的frame17 bar.frame=CGRectMake(0, 0, 300, 35);18 bar.backgroundImage=[UIImage resizedImage:@&searchbar_textfield_background&];19 self.navigationItem.titleView=20*/21 22 /*第二种方案23 //使用UISearchBar24 UISearchBar *bar=[[UISearchBar alloc]init];25 //设置bar的frame26 bar.frame=CGRectMake(0, 0, 300, 35);27 bar.backgroundImage=[UIImage resizedImage:@&searchbar_textfield_background&];28 self.navigationItem.titleView=29*/30 31 //第三种方案32 UITextField *searchBar=[[UITextField alloc]init];33 //设置frmae34 searchBar.width=300;35 searchBar.height=35;36 //设置背景图片37 searchBar.background=[UIImage resizedImage:@&searchbar_textfield_background&];38 //searchBar.textAlignment=NSTextAlignmentC//说明:这是设置文字水平居中39 //设置文字内容垂直居中40 searchBar.contentVerticalAlignment=UIControlContentVerticalAlignmentC41 //设置左边的放大镜42 UIImageView *leftView=[[UIImageView alloc]init];43 leftView.image=[UIImage imageWithName:@&searchbar_textfield_search_icon&];44 searchBar.leftView=leftV45 //设置leftView的frame46 leftView.width=40;47 leftView.height=35;48 //设置leftViewMode49 searchBar.leftViewMode=UITextFieldViewModeA50 //设置放大镜距离左边的间距,设置leftView的内容居中51 leftView.contentMode=UIViewContentModeC52 53 //添加到导航栏中54 self.navigationItem.titleView=searchB55 }56 57 58 @end 实现效果:
补充 :点击清除掉搜索框中的所有内容
设置右边永远显示清除按钮(马桶原理) clearButtonMode=UITextFieldViewModeALways
最新教程周点击榜
微信扫一扫}

我要回帖

更多关于 ios clearbutton 颜色 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信