在uisearchbar中添加刷新徽标

时间:2012-02-17 06:50:27

标签: ios xcode ipad

是否可以在iPad上的uisearchbar中添加一个类似于safari中的刷新徽标? 如下图所示?

我有一个uisearchbarcontroller和一个uitableview。想知道是否有可能像刷新一样添加箭头。可以添加搜索结果和书签。

refresh icon

谢谢。

2 个答案:

答案 0 :(得分:4)

是的,你可以..你需要用一个自定义按钮替换清除按钮,这个按钮将进行刷新操作..这是执行该操作的代码

UISearchBar *searchBar = yourSearchBar;
UITextField *searchtextfield = [searchBar.subviews objectAtIndex:1];
UIButton *cButton = [UIButton buttonWithType:UIButtonTypeCustom];
cButton.frame = CGRectMake(0, 0, 20 , 20);
cButton.backgroundColor = [UIColor clearColor];
[cButton setImage:[UIImage newImageFromResource:@"yourButtonImage"] forState:UIControlStateNormal];//refresh image.
cButton.contentMode = UIViewContentModeScaleToFill;
[cButton addTarget:self action:@selector(refreshButtonPressed) forControlEvents:UIControlEventTouchUpInside];//This is the custom event(refresh)
[searchtextfield setRightView:cButton];
[searchtextfield setRightViewMode:UITextFieldViewModeAlways];

享受:)

答案 1 :(得分:0)

对于iOS 7,请替换:

UITextField *searchtextfield = [searchBar.subviews objectAtIndex:1];

使用:

UITextField *searchtextfield = [((UIView *)[searchBar.subviews objectAtIndex:0]).subviews lastObject];