https://github.com/zonghongyan/evncustomsearchbar
🔍Born for iOS 11 and iPhone X SearchBar
https://github.com/zonghongyan/evncustomsearchbar
ios11 iphone-x iphonex navigationbar searchbar xcode9
Last synced: 6 months ago
JSON representation
🔍Born for iOS 11 and iPhone X SearchBar
- Host: GitHub
- URL: https://github.com/zonghongyan/evncustomsearchbar
- Owner: zonghongyan
- License: mit
- Created: 2017-09-28T09:47:23.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-14T07:55:38.000Z (over 7 years ago)
- Last Synced: 2024-10-30T07:08:35.605Z (7 months ago)
- Topics: ios11, iphone-x, iphonex, navigationbar, searchbar, xcode9
- Language: Objective-C
- Homepage:
- Size: 720 KB
- Stars: 51
- Watchers: 4
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## EVNCustomSearchBar
🔍Born for iOS 11 and iPhone X SearchBar[](https://travis-ci.org/zonghongyan/EVNTouchIDDemo)
[](https://img.shields.io/cocoapods/v/EVNCustomSearchBar.svg)
[](https://github.com/zonghongyan/EVNCustomSearchBar/blob/master/LICENSE)### 预览图
## Installation
### CocoaPods
[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
```bash
$ gem install cocoapods
```> CocoaPods 1.1.0+ is required to build EVNCustomSearchBar.
To integrate EVNCustomSearchBar into your Xcode project using CocoaPods, specify it in your `Podfile`:
```ruby
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
#use_frameworks!target '' do
pod 'EVNCustomSearchBar', '~> 0.1.2'
end
```Then, run the following command:
```bash
$ pod install
```### Use
```
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.[self initSearchBar];
}- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}#pragma mark: 设置顶部导航搜索部分
- (void)initSearchBar
{
self.navigationItem.titleView = self.searchBar;
if (@available(iOS 11.0, *))
{
[self.searchBar.heightAnchor constraintLessThanOrEqualToConstant:kEVNScreenNavigationBarHeight].active = YES;
}
else
{}
}
#pragma mark: getter method EVNCustomSearchBar
- (EVNCustomSearchBar *)searchBar
{
if (!_searchBar)
{
_searchBar = [[EVNCustomSearchBar alloc] initWithFrame:CGRectMake(0, kEVNScreenStatusBarHeight, kEVNScreenWidth, kEVNScreenNavigationBarHeight)];_searchBar.backgroundColor = [UIColor clearColor]; // 清空searchBar的背景色
_searchBar.iconImage = [UIImage imageNamed:@"EVNCustomSearchBar.bundle/searchImageBlack.png"];
// _searchBar.iconImage = [UIImage imageNamed:@"EVNCustomSearchBar.bundle/searchImageTextColor.png"];
_searchBar.iconAlign = EVNCustomSearchBarIconAlignCenter;
[_searchBar setPlaceholder:@"请输入关键字"]; // 搜索框的占位符
_searchBar.placeholderColor = TextGrayColor;
_searchBar.delegate = self; // 设置代理
[_searchBar sizeToFit];
}
return _searchBar;
}#pragma mark: EVNCustomSearchBar delegate method
- (BOOL)searchBarShouldBeginEditing:(EVNCustomSearchBar *)searchBar
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
return YES;
}- (void)searchBarTextDidBeginEditing:(EVNCustomSearchBar *)searchBar
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
}- (BOOL)searchBarShouldEndEditing:(EVNCustomSearchBar *)searchBar
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
return YES;
}- (void)searchBarTextDidEndEditing:(EVNCustomSearchBar *)searchBar
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
}- (void)searchBar:(EVNCustomSearchBar *)searchBar textDidChange:(NSString *)searchText
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
}- (BOOL)searchBar:(EVNCustomSearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
return YES;
}- (void)searchBarSearchButtonClicked:(EVNCustomSearchBar *)searchBar
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
}- (void)searchBarCancelButtonClicked:(EVNCustomSearchBar *)searchBar
{
NSLog(@"class: %@ function:%s", NSStringFromClass([self class]), __func__);
}- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.searchBar resignFirstResponder];
}
```