在我的应用程序中,我需要在按下时为表格视图中的每个单元格加载不同的视图。我已经尝试了下面的代码,但是当按下单元格时我的应用程序失败了。
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell.textLabel.text == @"Area")
{
ThirdViewController *tvController = [[ThirdViewController alloc] initWithNibName:@"ThirdView" bundle:nil];
[self.navigationController pushViewController:tvController animated:YES];
}
}
请注意,我已在代码所在的实现文件中导入了“thirdviewcontroller.h”文件。
我仍然习惯使用obj-c和Xcode进行编码,所以如果我尝试过一些完全愚蠢/愚蠢的事情,请原谅。如果您需要更多信息,请告知我们,以便我的问题不会被解决。
我也在四处寻找,但我发现的任何东西似乎对我都没有帮助。
由于
答案 0 :(得分:0)
您可能希望根据您点击的单元格添加modalviewcontroller。 你知道你用数组填充了tableview,是吗?
做这样的事情:
if ( [listOfItems objectAtIndex:indexPath.row] == someStatement)
{
YourVC = [[CustomViewController alloc] init];
self.YourVc.dismissDelegate = self;
UINavigationController *navController = [[UINavigationController alloc]
initWithRootViewController:self.YourVc];
navController.modalPresentationStyle = UIModalPresentationFormSheet; //or any of the other presentationstyles.
[self presentModalViewController:navController animated:YES];
[self.addTableViewController release];
[navController release];
}
这将根据您所做的选择显示新的viewcontroller。
答案 1 :(得分:0)
你差不多完成了。要比较您需要使用的测试:
[cell.textLabel.text isEqualToString:@"Area"]
但是,最好依靠indexPath
而不是textLabel
。
另外,不要忘记发布tvController
。