上記の画像はGmailアプリケーションの例です。
私が欲しいのはそれです、
画像2-このような提案リストを表示したいのですが、ユーザーがその提案をクリックすると、その検索値に従って次のビューに移動する必要があります
画像3A-(入力する前に)検索バーボタンをクリックすると、このビューのように表示したいのですが、画像に表示されているようにセグメント化されたコントロールも表示したいのです。
画像3B-ユーザーが検索値に従って入力を開始すると、データをテーブルビューに表示する必要があります。
テーブルビューとその機能について詳しくはわかりません。この機能をiOSに実装する方法を学びたいです。
誰でも私がこの機能を実装するのを手伝ってくれます。
ステップ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:下のスクリーンショットのように1つのテキストフィールドとセグメント化されたコントロールを取得し、セグメント化されたコントロールの下に2つのテーブルビューを追加してコードを記述します。
// 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
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加