在拆分视图控制器 iOS8 目标 C 中从右侧打开主视图
Posted
技术标签:
【中文标题】在拆分视图控制器 iOS8 目标 C 中从右侧打开主视图【英文标题】:Open master view from right in Split View Controller iOS8 Objective C 【发布时间】:2016-09-07 05:03:54 【问题描述】:我已经制作了 Split View,它可以包含 Master 和 Details 视图控制器。 现在我想从右侧打开主视图控制器。 我在 ios 8 中使用 Objective C。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//Figure out that we're on an iPad.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
//Grab a reference to the UISplitViewController
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
//splitViewController.preferredInterfaceOrientationForPresentation = UIInterfaceOrientationLandscapeRight;
// splitViewController.interfaceOrientation =
//Grab a reference to the RightViewController and set it as the SVC's delegate.
RightViewController *rightViewController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = rightViewController;
//Grab a reference to the LeftViewController and get the first monster in the list.
UINavigationController *leftNavController = [splitViewController.viewControllers objectAtIndex:0];
LeftViewController *leftViewController = (LeftViewController *)[leftNavController topViewController];
Monster *firstMonster = [[leftViewController monsters] objectAtIndex:0];
//Set it as the RightViewController's monster.
[rightViewController setMonster:firstMonster];
//Set the RightViewController as the left's delegate.
leftViewController.delegate = rightViewController;
return YES;
请帮忙。
【问题讨论】:
希望这个对你有帮助***.com/documentation/ios/4844/… 链接失效 【参考方案1】:正如您所提到的,您需要将masterview
更改为左侧并将detailsview
更改为右侧。据我所知,这是不可能通过代码实现的。
虽然我找到了一种方法,我们可以通过对故事板进行一些更改来实现它。
最初设置UISplitViewController
时,您会看到如下图所示。 (见红框内的连接)
您将看到第一个 masterviewcontroller 与 master 和 Detailviewcontroller 与导航控制器连接。
现在将连接更改为 master 而不是 details,反之亦然。这是更改后的新图像。
执行此更改后,如果您运行代码,它将在右侧显示母版页,在左侧显示详细信息页。
重要提示:
如果您不想执行此步骤,也可以将母版页视为详细信息页,将详细信息页视为母版页。并替换两个文件中的代码,作为实现这一解决方案的第二种解决方案。我希望它能指导你。
【讨论】:
以上是关于在拆分视图控制器 iOS8 目标 C 中从右侧打开主视图的主要内容,如果未能解决你的问题,请参考以下文章
在Splitviewcontroller中从左到右改变Masterview的位置