【发布时间】:2016-04-23 12:50:15
【问题描述】:
在我的应用程序中,它有两个视图。在第一个 ViewController 中有一个 tableview。当第一个单元格从 tableview 中选择时,它会加载另一个视图和另一个带有搜索选项的 tableview。然后从tableview中的搜索结果,在我选择一个单元格后,当前视图应该关闭。
- 我的第一个问题是我无法从搜索结果中直接选择单元格。我必须点按两次。
- 我的第二个问题是不能拒绝
viewcontroller
这是我的代码
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
{
NSString *enteredString = searchController.searchBar.text;
if ([enteredString length] >= 3) {
[self getAirportCodesFromWebService:enteredString];
}
[self.airportTable reloadData];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [airportArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
GetAirportTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"reuse" forIndexPath:indexPath];
GetAirport *getAirports = [airportArray objectAtIndex:indexPath.row];
cell.AirportName.text = getAirports.AirportName;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
GetAirport *getAirports = [airportArray objectAtIndex:indexPath.row];
NSString *selectedAirport = getAirports.AirportName;
[[NSUserDefaults standardUserDefaults] setObject:selectedAirport forKey:@"selectedairport"];
[[NSUserDefaults standardUserDefaults] synchronize];
[self dismissViewControllerAnimated:YES completion:nil];
}
我以编程方式使用UISearchController 进行搜索。在其中我根据用户输入调用网络服务。帮我解决这个问题
【问题讨论】:
-
你是怎么来这第二个视图控制器的
-
将第一个
cell拖到新控件上,为Storyboard segue选择show -
你能试试modal吗?
-
不,明白了。那是因为我没有
Embedednavigation controller.thanx 为您提供帮助 @AnkitSrivastava -
嵌入需要 push 和 pop 来实现功能。或带解雇的模态
标签: ios objective-c tableview uisearchcontroller dismiss