在搜索栏的左侧和右侧添加按钮

时间:2015-11-05 07:51:22

标签: ios search uisearchbar uisearchcontroller searchbar

我想要一个搜索栏,在文本字段的左侧有一个按钮,在右侧。与当前Alien Blue reddit应用程序中的搜索栏相同。

AlienBlue SearchBar

到目前为止,我最接近实现这一点的是我能够改变"取消"的文本。使用这行代码在右侧按钮。

[self.searchController.searchBar setValue:@"Hello" forKey:@"_cancelButtonText"];

但这并不是真的有用,因为我希望右侧打开不同的搜索选项,而不是取消搜索。

帮帮我____,你是我唯一的希望

1 个答案:

答案 0 :(得分:1)

将效果放在第一位

enter image description here

//RWSearchBar.h
#define BarFrame CGRectMake(100, 20, 200, 44)

#import <UIKit/UIKit.h>

@interface RWSearchBar : UISearchBar

@end

//RWSearchBar.m
#import "RWSearchBar.h"

@implementation RWSearchBar

- (void)layoutSubviews {
    self.frame = BarFrame;
}

@end

//RWViewController.m
#import "ViewController.h"
#import "RWSearchBar.h"

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    RWSearchBar *searchBar = [[RWSearchBar alloc] init];
    [self.view addSubview:searchBar];
    CGRect aFrame = BarFrame;

    UIButton *leftBtn = [[UIButton alloc] initWithFrame:CGRectMake(aFrame.origin.x - 60, aFrame.origin.y, 60, 44)];
    leftBtn.backgroundColor = [UIColor blueColor];
    UIButton *rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(aFrame.origin.x + aFrame.size.width, aFrame.origin.y, 60, 44)];
    rightBtn.backgroundColor = [UIColor yellowColor];

    [self.view addSubview:leftBtn];
    [self.view addSubview:rightBtn];
}

您可以自己定制更多视觉效果。