我在 X-Code 上创建了一个单一 View 应用程序,并创建了另一个 View Controller ,并尝试推送第二个 View Controller 。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (self.statesView == nil)
{
StatesView *newStateView = [[StatesView alloc]initWithNibName:@"StatesView" bundle:[NSBundle mainBundle]];
self.statesView = newStateView;
}
[self.navigationController pushViewController:self.statesView animated:YES];
}
但是应用程序因 SIGABRT 信号而崩溃
最佳答案
StatesView 是 ViewController 吗?
pushViewController:
需要一个UIViewController
,而不是一个UIView
。
我认为当您点击 UITableView 中的一行时,您正在尝试更改 ViewController。
实现此目的最简单且最好的方法是使用 segues。在 Storyboard中,按住 Ctrl 键拖动 UITableViewCell
并将其与新的 View Controller 链接。
如果您想以编程方式执行此操作,则需要使用:
[self.storyboard instantiateViewControllerWithIdentifier:@"StatesViewController"];
关于ios - 我如何在 View 之间转换,每个 View 都有自己的 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11627781/