如何从我的主视图模态地呈现表格视图?
Posted
技术标签:
【中文标题】如何从我的主视图模态地呈现表格视图?【英文标题】:How can I modally present a table view from my main view? 【发布时间】:2014-03-18 03:41:24 【问题描述】:所以我正在构建一个应用程序,并且我有一个主视图,其中大部分操作都在其中发生。我希望这样当用户向上滑动时,屏幕底部会出现一个表格视图,他们可以在其中选择某一行并返回主视图。
我以为我做对了,但是当我向上滑动时收到一条错误消息:
Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '- [UIViewController _loadViewFromNibNamed:bundle:] loaded the
"SFFavoritesViewController" nib but the view outlet was not set.'
然后我设置了视图出口,我收到了这个错误消息:
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency',
reason: 'A view can only be associated with at most one view controller at a time!
View <UITableView: 0xb385c00; frame = (0 0; 320 568); clipsToBounds = YES;
opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0xa38c0c0>; layer =
<CALayer: 0xa4cf480>; contentOffset: 0, 0> is associated with
<UITableViewController: 0xa38cde0>. Clear this association before associating
this view with <SFFavoritesViewController: 0xa3819f0>.'
所以我只是在解决这个问题,或者我正在尝试做的事情是否可能,或者是什么?我有点困惑。
编辑:
这是我加载/呈现它的地方。该方法在主视图控制器SFViewController中。
- (void)swipedUp
SFFavoritesViewController *favoritesViewController = [[SFFavoritesViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:favoritesViewController];
[self presentViewController:navController animated:YES completion:nil];
【问题讨论】:
你在使用故事板吗? 你能在你加载和展示新视图控制器的地方展示你的代码吗? 是的,我将故事板用于主视图,但我不知道如何在故事板上执行此操作,因此我尝试将 XIB 用于表格视图,同时将故事板用于我的主视图.我想可能有一种方法可以在故事板上完成这一切,所以这实际上可能应该是我的问题。 【参考方案1】:您正在分配一个初始化您的 favouritesViewController,但您没有将视图与它关联 - 这就是您收到未设置视图出口的消息的原因。要为您的视图加载 XIB 文件,您将使用 -
SFFavoritesViewController *favoritesViewController = [[SFFavoritesViewController alloc]initWithNibName:@"favouritesView" bundle:nil];
确保您已将“文件所有者”的自定义类设置为 IB 中的 SFFavoritesViewController
另外,以模态方式呈现导航控制器似乎很不寻常——我原以为你会直接呈现 SFFavoritesViewController
[self presentViewController:favoritesViewController animated:YES completion:nil];
【讨论】:
你的方法效果很好,但我还是花了几个小时来更好地理解故事板,然后就在那里完成了所有工作。不过感谢您的建议,我想我只是通过尝试构建半故事板半 XIB 来混淆自己。 是的,故事板有点学习曲线,但最好以一种或另一种方式完成以上是关于如何从我的主视图模态地呈现表格视图?的主要内容,如果未能解决你的问题,请参考以下文章