在做搜索框的時(shí)候用到UISearhcDisplay,但是我發(fā)現(xiàn)這樣的話,所有的處理Display的那個(gè)TableView的邏輯就都要和搜索框放在同一個(gè)類里。而我?guī)阉骺虻倪@個(gè)類結(jié)構(gòu)是,上邊一個(gè)搜索框下邊一個(gè)TableView。這樣的話,我在TableView的delegate方法就要通過(guò)區(qū)分tableView的對(duì)象,然后做不同的處理。統(tǒng)一各類,同一個(gè)方法太長(zhǎng)了。
1 回答

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
可以這樣做,自己寫一個(gè)Controller把,邏輯都放在這里。
然后定義單獨(dú)的UISearchDisplayController,設(shè)置resultDelegate和resultDataSource,代碼如下:
MySearchDisplayViewController.h
@interface MySearchDisplayViewController : UIViewController <UISearchDisplayDelegate, UITableViewDelegate, UITableViewDataSource>
ViewController.m
MySearchDisplayViewController *mySearchDisplayViewController = [[MySearchDisplayViewController alloc] init];UISearchDisplayController *searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar contentsController:self]; searchDisplayController.delegate = mySearchDisplayViewController; searchDisplayController.searchResultsDataSource = mySearchDisplayViewController; searchDisplayController.searchResultsDelegate = mySearchDisplayViewController;
- 1 回答
- 0 關(guān)注
- 168 瀏覽
添加回答
舉報(bào)
0/150
提交
取消