Ios 如何卸载视图控制器?或者至少让它每次都出现?
我想“卸载”视图控制器,这样每当用户在uitableview中单击它们时,它们都会被读取 这是一个带有ChildViewController的uisplitviewcontroller 这怎么可能Ios 如何卸载视图控制器?或者至少让它每次都出现?,ios,objective-c,uitableview,uisplitviewcontroller,childviewcontroller,Ios,Objective C,Uitableview,Uisplitviewcontroller,Childviewcontroller,我想“卸载”视图控制器,这样每当用户在uitableview中单击它们时,它们都会被读取 这是一个带有ChildViewController的uisplitviewcontroller 这怎么可能 -(void)Graviditeten:(int)viewId { UIViewController *viewController; switch (viewId) { case 0: viewController = self.jegKomTil; brea
-(void)Graviditeten:(int)viewId {
UIViewController *viewController;
switch (viewId) {
case 0:
viewController = self.jegKomTil;
break;
case 1:
viewController = self.scannet1;
break;
case 2:
viewController = self.ugeForUge;
break;
case 3:
viewController = self.opfoeselIMave;
break;
case 4:
viewController = self.specielleMinderGravid;
break;
case 5:
viewController = self.nakkefold;
break;
case 6:
viewController = self.mdScan;
break;
case 7:
viewController = self.madMorHave;
break;
case 8:
viewController = self.tingFar;
break;
}
[self showChildViewController:viewController];
}
-(void)showChildViewController:(UIViewController*)content {
if(topController != content) {
content.view.frame = [self.view frame];
[self.view addSubview:content.view];
[content dismissViewControllerAnimated:YES completion:nil];
[content didMoveToParentViewController:self];
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
topController = content;
}
}
到目前为止,我在ShowChildViewController
[content dismissViewControllerAnimated:YES completion:nil];
但是它没有显示任何内容听起来你并不是真的想卸载vc的视图,而是想在它即将呈现时刷新它。在显示vc之前,
UISPlitViewController控制器delegate
会收到带有splitViewController:willShowViewController:invalidatingBarButtonItem
的通知。显示的vc是一个参数。见医生
这管用 你不应该试图解雇一个控制器,如果你没有在第一时间提出它。看起来您正试图使用showChildViewController方法将控制器添加为子控制器(缺少行[self-addChildViewController:content])。您发布的代码是否在容器视图控制器中?@rdelmar是的,它发布在我的容器视图中controller@rdelmar如果我编写了您编写的代码,当我更改用户***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序时,我会得到这个消息,原因:'***-[\uu NSArrayM insertObject:atIndex:]:object不能为nil'@rdelmar-hmm当我向下移动uitableview->another uitableview时,由于某种原因,我的内容变为nil。如果不了解更多有关控制器总体层次结构的信息,很难说出发生了什么。我不太明白你写了什么。但是如果可能的话,我想刷新vc。-(void)splitViewController:(UISplitViewController*)svc将显示ViewController:(UIViewController*)aViewController InvalizatingBarbuttonItem:(UIBarButtonItem*)按钮我在其中放置了什么?除了按钮功能之外,您还可以为SVC分配一个代表。它可以是实现协议的任何对象。一个常见的选择是让第一个vc作为代表。IB是什么?我在用故事板?!?!
-(void)showChildViewController:(UIViewController*)content {
if(topController != content) {
content.view.frame = [self.view frame];
[content.view removeFromSuperview];
[self.view addSubview:content.view];
[content.view setNeedsDisplay];
[content didMoveToParentViewController:self];
topController = content;
}
}