我在视图控制器中有两个搜索栏。这很奇怪,因为我在另一个vc中有相同的确切代码,它工作正常。 (背景中的搜索栏不应该在那里)
这是截图:
我添加了代表:<UISearchBarDelegate, UISearchDisplayDelegate>
然后在.h:
@property (nonatomic,retain) IBOutlet UISearchBar *searchBar;
<。>中的:
@synthesize searchBar;
viewDidLoad中的:
self.searchBar.frame = CGRectMake(204, 11, 107,44);
self.searchBar.delegate = self;
//customize the searchbar
UITextField *searchField = [self.searchBar valueForKey:@"_searchField"];
[searchField setBackground:[UIImage imageNamed:@"search_panel.png"]];
[self.searchBar setTintColor:[UIColor redColor]];
UIImage *searchimg = [UIImage imageNamed:@"searchfield_bg.png"];
for (UIView *subview in self.searchBar.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
UIView *bg = [[UIView alloc] initWithFrame:subview.frame];
bg.backgroundColor = [UIColor colorWithPatternImage:searchimg];
[self.searchBar insertSubview:bg aboveSubview:subview];
[subview removeFromSuperview];
break;
}
}
[self.view addSubview:self.searchBar];
就是这样。我与Storyboard视图控制器xib中的searchBar无关,它在viewDidLoad方法中以编程方式添加
感谢您的帮助
答案 0 :(得分:1)
如果您使用的是插座,那么您的UISearchBar
很可能也存在于故事板或xib中。由于您还在viewDidLoad
中创建了它,因此您需要制作它的第二个副本。再看一下你的故事板。