iOS 는 UISearchBar 를 단독으로 사용 하여 검색 상 자 를 만 드 는 예제 입 니 다.
3718 단어 iOSUISearchBar
검색 페이지
1.대리 UISearchBarDelegate 구현
@interface SearchViewController ()<UISearchBarDelegate>
2.UISearchBar 를 속성 으로 만 들 기
@property (nonatomic, strong) UISearchBar *searchBar;
3.페이지 에 들 어가 면 키 보드 를 튕 기 고 나 가기 전에 키 보드 를 접는다.
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if (!_searchBar.isFirstResponder) {
[self.searchBar becomeFirstResponder];
}
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[self.searchBar resignFirstResponder];
}
4.구체 적 실현
- (void)setBarButtonItem
{
//
[self.navigationItem setHidesBackButton:YES];
// searchBar View
UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(5, 7, self.view.frame.size.width, 30)];
// searchBar
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(titleView.frame) - 15, 30)];
//
searchBar.placeholder = @" ";
//
searchBar.backgroundImage = [UIImage imageNamed:@"clearImage"];
//
searchBar.delegate = self;
//
searchBar.showsCancelButton = YES;
//
searchBar.tintColor = UIColorFromRGB(0x595959);
// searchBar
UITextField *searchTextField = [searchBar valueForKey:@"_searchField"];
//
searchTextField.font = [UIFont systemFontOfSize:15];
//
searchTextField.backgroundColor = [UIColor colorWithRed:234/255.0 green:235/255.0 blue:237/255.0 alpha:1];
//
UIButton *cancleBtn = [searchBar valueForKey:@"cancelButton"];
//
[cancleBtn setTitle:@" " forState:UIControlStateNormal];
//
[cancleBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[titleView addSubview:searchBar];
self.searchBar = searchBar;
self.navigationItem.titleView = titleView;
}
5.대리 방법 실현
#pragma mark - UISearchBarDelegate
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{
return YES;
}
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
searchBar.showsCancelButton = YES;
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
NSLog(@"SearchButton");
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[self.searchBar resignFirstResponder];
[self.navigationController popViewControllerAnimated:YES];
}
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
searchBar.showsCancelButton = YES;
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
NSString *inputStr = searchText;
[self.results removeAllObjects];
for (ElderModel *model in self.dataArray) {
if ([model.name.lowercaseString rangeOfString:inputStr.lowercaseString].location != NSNotFound) {
[self.results addObject:model];
}
}
[self.tableView reloadData];
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.