Как я могу реализовать функцию поиска, как показано ниже в iOS?

109
12

enter image description here

выше изображений - пример приложения Gmail.

я хочу, чтобы,

Изображение 2 - я хочу показать список предложений, подобный этому, и когда пользователь нажимает на это предложение, он должен перемещаться по следующему виду в соответствии с этим значением поиска

Изображение 3 A - (до ввода) Когда я нажимаю на кнопку панели поиска, как это представление, которое я хочу показать, также хочу показать сегментированный элемент управления, как показано на изображении.

Изображение 3 B - Когда пользователь начинает печатать в соответствии со значением поиска, данные должны отображаться в виде таблицы.

Я не знаю подробно о виде таблицы и ее функции. Я хочу узнать, как реализовать эту функцию в iOS.

Любой может помочь мне реализовать эту функциональность.

спросил(а) 2018-01-08T11:47:00+03:00 2 года, 11 месяцев назад
1
Решение
124

Шаг 1. Просто создайте навигационную кнопку поиска.

        UIButton *searchButton =  [UIButton buttonWithType:UIButtonTypeCustom];
[searchButton setImage:[UIImage imageNamed:@"search1"] forState:UIControlStateNormal];
[searchButton addTarget:self action:@selector(searchButtonClicked) forControlEvents:UIControlEventTouchUpInside];
[searchButton setFrame:CGRectMake(10, 0, 35, 35)];

UIView *rightBarButtonItems = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 76, 32)];
[rightBarButtonItems addSubview:searchButton];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBarButtonItems];

Шаг 2. После этого дайте ему действия, напишите код для навигации по следующему виду

- (IBAction)searchButtonClicked {

SearchViewController * search=[self.storyboard instantiateViewControllerWithIdentifier:@"SearchViewControllerId"];
[self.navigationController pushViewController:search animated:YES];

}

Шаг 3: Возьмите одно текстовое поле и сегментированный элемент управления, как показано ниже, и добавьте 2 вида таблицы под сегментированным элементом управления и записью.

enter image description here

// This method used to allow select segmented button multiple times (multi-select segmented control)
-(void)setMultiSelectControl:(MultiSelectSegmentedControl *)multiSelectControl{
_multiSelectControl = multiSelectControl;
self.multiSelectControl.tag = 2;
self.multiSelectControl.delegate = self;
}

-(void)multiSelect:(MultiSelectSegmentedControl *)multiSelecSegmendedControl didChangeValue:(BOOL)value atIndex:(NSUInteger)index{

if(index==0)
{

_multiSelectControl.selectedSegmentIndex=0;
_tableview1.hidden=NO;
_tableview2.hidden=YES;

[_seachTextField resignFirstResponder];

// your code

}

if (index==1) {

_multiSelectControl.selectedSegmentIndex=1;

_tableview1.hidden=YES;
_tableview2.hidden=NO;

[_seachTextField resignFirstResponder];

// your code

}

}

Я надеюсь, что это поможет вам.

ответил(а) 2018-05-23T09:06:00+03:00 2 года, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема