Chr*_* B 0 iphone xcode view ipad
我有一个视图,它正在做很多功能,当我到达我完成的时候,我想改成一个newViewcontroller.如果我从rootview中执行此操作,我只需要调用.
NewPageViewController *newDetailViewController = [[NewPageViewController alloc] initWithNibName:@"NewPageViewController" bundle:nil];
detailViewController = newDetailViewController;
Run Code Online (Sandbox Code Playgroud)
但我需要从我的旧细节(右侧)做到这一点
我正在从右侧下载splitview iPad应用程序中的文件,在下载文件后,我需要在我的方法中将splitview的右侧更改为新的nib文件,以便我可以打开并编辑该文件
有人能以正确的方式指出我.
我现在有 :
-(void)changeView {
ListController *newDetailViewController = [[ListController alloc] initWithNibName:@"ListController"bundle:nil]
NSArray *viewControllers = [NSArray arrayWithObjects:[splitViewController.viewControllers objectAtIndex:0], newDetailViewController, nil];
splitViewController.viewControllers = viewControllers;
[viewControllers release];
}
-(void)downloadfile {
//I do all my work and get the file.
NSLog(@"I need to change views now.");
[self changeView];
}
Run Code Online (Sandbox Code Playgroud)
我没有得到任何错误,但右侧视图没有改变.
从iOS8开始,您可以-showDetailViewController:sender:在UISplitViewController上使用该方法.请参阅UISplitViewController上的Apple文档.
班上有一处NSArray *viewControllers房产UISplitViewController.此数组中的第一项是主VC,第二项是详细VC.将此属性重新分配给包含相同主VC但新细节VC的新阵列:
// don't forget to set the delegate of myNewDetailViewController appropriately!
myNewDetailViewController.delegate = ...
NSArray newVCs = [NSArray arrayWithObjects:[uiSplitVC.viewControllers objectAtIndex:0], myNewDetailViewController, nil];
uiSplitVC.viewControllers = newVCs;
Run Code Online (Sandbox Code Playgroud)
UISplitViewController的API参考:http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewController_class/Reference/Reference.html
注意:不要尝试更换主VC - 它通常会以某种方式出错.我尝试了许多替换主人的方法,它总是以一种非常讨厌的方式出错.替换细节VC虽然很好!
| 归档时间: |
|
| 查看次数: |
6348 次 |
| 最近记录: |