在搜索栏的左侧和右侧添加按钮
Posted
技术标签:
【中文标题】在搜索栏的左侧和右侧添加按钮【英文标题】:Add buttons to the left and right of the searchbar 【发布时间】:2015-11-05 07:51:21 【问题描述】:我想要一个在文本字段左侧和右侧都有一个按钮的搜索栏。与当前 Alien Blue reddit 应用上的搜索栏相同。
到目前为止,我最接近于实现这一点的是,我已经能够使用这行代码更改右侧“取消”按钮的文本。
[self.searchController.searchBar setValue:@"Hello" forKey:@"_cancelButtonText"];
但这并没有真正的帮助,因为我希望右侧打开不同的搜索选项,而不是取消搜索。
帮助我____,你是我唯一的希望
【问题讨论】:
可能您应该使用 xib 或编程自定义 UISearch。这样你就可以设置它的大小并在它旁边放两个按钮。 【参考方案1】:先放效果
//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];
您可以自己定制更多的视觉效果。
【讨论】:
以上是关于在搜索栏的左侧和右侧添加按钮的主要内容,如果未能解决你的问题,请参考以下文章