Tag: uisplitviewcontroller

奇怪的底层灰色概述视图试图通过编程解雇UISplitViewController的主人

我使用UISplitViewController与preferredDisplayMode = UISplitViewControllerDisplayModePrimaryOverlay ,我正在寻找一种方法来解除主视图控制器。 我的主人包含一个表格视图,我想closures它,只要我select一个单元格。 令人惊讶的UISplitViewController似乎并没有提供一个方法(但我确实看到苹果电脑公司正在做,我们你select在纵向模式下的电子邮件)。 我发现这里报告了以下解决方法: 在iOS8中隐藏与主视图控制器与UISplitViewController (请看phatmann答案)。 这种方法很有效,但是当它被解散时,它也会产生一个奇怪的animation,这里有一个底层的灰色轮廓视图,与主人的观点不一致。 这个问题在这里也有报道: iOS Swift 2 UISplitViewController在iPad / iPhone 6+上打开主屏幕上的详细屏幕 只有当我解雇主这个解决方法,而不是当我点击辅助,所以我猜UISplitViewController是不是跟随常规解雇stream,当你只是在button上调用sendAction时,会出现问题。

UISplitView与多个故事板

我有一个iPhone应用程序包含概览(表格视图)和多个细节视图(不同种类的意见)。 为了模块化,所有的细节视图都使用单独的故事板。 现在我需要使我的应用程序通用。 为此,我想要使用UISplitView作为主视图,并在右侧加载详细信息视图。 不过,我不确定是否可以用我的多个故事板做到这一点。 我有什么可能? 我必须保持应用程序模块化。 我已经分开iPhone和iPad的故事板,但是这并没有真正帮助我。 我将不胜感激任何build议。

在UISplitViewController的细节视图中缺less标题栏

我有一个UISplitViewControllerembedded在一个容器视图(因为它不是在我的应用程序的根源),除了一个问题,它的机制工作很好: 在iPad上的细节视图的导航栏丢失。 初始设置基本如下: 在IB中,将分割视图控制器拖到故事板上,该分割视图控制器将创build一个分割视图控制器,一个导航控制器,一个表视图控制器(主控),一个基本的视图控制器(细节)以及连接它们的连接点。 使用容器视图添加常规视图控制器。 创build一个从容器视图到分割视图控制器的embedded塞格。 从原型单元添加另一个Segue到详细视图控制器,由主控制器中的以下代码支持: override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { self.performSegue(withIdentifier: "showDetail", sender: nil) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "showDetail" { let destinationViewController = segue.destination as! DetailViewController let path = self.tableView.indexPathForSelectedRow! as NSIndexPath destinationViewController.selectedTrainingId = (self.itemList[path.row] as! MyListItem).id } } 添加数据。 将项目加载到主视图中并select细节正在工作。 […]

刷新UISplitView控制器的主表视图

同时将我们最新的iPhone应用程序移植到通用应用程序,我决定在TabBarController中使用iPad的SplitView控制器。 SplitViewController由AppDelegate为每个Tabpipe理。 所有的工作正常,但我的问题是,我的MasterView(在SplitView的左侧)包括4个类别button来更改TableViews数据。 如果我点击其中一个button,TableView需要刷新/重新加载数据,以显示所选类别的新内容。 我创build了一个函数来执行更改,并在界面生成器中将button链接到它。 在我的function结束时,我尝试刷新控制器,如下所示: [self tableView ReloadData]; 但SplitView不显示刷新。 仍然是旧的数据。 我用NSLogtesting了一下,检查我的函数是否正常工作。 没问题。 然后我尝试通过SplitViewController本身访问tableView,如下所示: // PresetController is my TableViewController in the SplitView UISplitViewController *split = (UISplitViewController *)self.parentViewController; PresetController *detail = [split.viewControllers objectAtIndex:0]; [detail.tableView reloadData]; 再次,没有错误,但没有刷新。 我错过了什么吗? 有什么方法可以轻松地重新加载SplitView中的TableViewController? 我已经阅读了一些关于通过NotificationCenter向委托发送Notfication的信息,但仍然找不到有用的资源。 编辑: 为了理解我的结构,下面是我在AppDelegates“didFinishLaunchingWithOptions”方法中设置SplitView的方法: NSMutableArray *controllers = [NSMutableArray arrayWithCapacity:[self.rootController.viewControllers count]]; int tabNum = 0; for (UIViewController *controller in self.rootController.viewControllers) […]

UITabbarController Swift中的UISplitViewController

好吧,我有一个UITabbarController的通用单一视图应用程序作为初始ViewController。 我有一个UISplitViewController作为其中一个选项卡中的项目。 SplitViewController有一个导航控制器作为其主节点,其中有一个uitableView viewController,如果你点击一个单元格,它“显示”细节视图(我试过显示细节也是)。 splitViewControllers细节视图控制器segue转到详细视图控制器。 我的问题是,当我去它的splitViewController选项卡它显示细节第一,而不是主(iPad和iPhone都相同)。 我花了几个小时阅读和观看不同的教程,并在这里查看问题,并找不到解决scheme。 代码我试过了(在自定义拆分viewcontroller类和viewcontroller与tableView类): func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool { return true } override func viewWillAppear(animated: Bool) { splitViewController?.delegate = self self.splitViewController!.delegate = self; self.splitViewController!.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible if UIDevice.currentDevice().userInterfaceIdiom == .Phone { if let con = self.splitViewController { con.preferredDisplayMode = .PrimaryOverlay print("phone") //^this code doesnt […]

iOS开发:如何构build复杂的结构化iPad应用程序?

我有一个3个子应用程序embedded到一个主要的应用场景。 我试图使用splitviewcontroller来改变我的detailview的内容,但我不能取代detailviewcontroller而不会失去popover。 问题:1 – 如何build立一个有组织的结构来维护我的项目? 2 – 如何将我的detailviews viewcontrollerreplace为另一个? 3 – 我应该使用故事板还是分开的XIB? 4-可以从简单的视图中“调用”一个splitviewcontroller吗? (login(单) – > AppSelection(单) – >应用1(SPLITVIEW)。 这是我的项目的草图

UISplitViewController toggleMasterVisible方法。 方法在哪里定义?

我可以正确调用“toggleMasterVisible”方法作为一个button的动作,但我想展开这样的方法。 (In Button action. It works) .h @interface DetailViewController : UIViewController <UISplitViewControllerDelegate> @end .m UIBarButtonItem *listBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"list.png"] style:UIBarButtonItemStyleBordered target:self.splitViewController action:@selector(toggleMasterVisible:)]; (I want to expand the method) .m UIBarButtonItem *listBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"list.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(toggleMasterVisibleIfCondtionIsOK:)]; -(void)toggleMasterVisibleIfCondtionIsOK { if(isConditionOK){ [self.splitViewController toggleMasterVisible]; } } 但是,我得到一个错误是“UISplitViewController声明”没有可见的@interface。 方法在哪里定义? 我找不到引用( http://developer.apple.com/library/ios/#documentation/uikit/reference/UISplitViewController_class/Reference/Reference.html )上的方法,我该如何调用该方法? 任何帮助将不胜感激。

在通用应用程序中集成MGSplitViewController

我正在尝试使用MGSplitViewController为iPhone和iPad制作通用应用程序。 我打算从基于窗口的模板(空)开始,但不知道如何集成MGSplitView。 参考项目对我来说不好,因为它只适用于iPad。 有谁知道从哪里开始? 任何教程? 谢谢。

iOS Storyboard UISplitViewController Seque to Full Screen

iOS新手问题在这里。 我有一个UITabBarController作为我的根控制器与一个UISplitViewController作为一个孩子。 我想通过导航栏和标签栏(如同详细视图是全屏的)将故事板从splitviewcontroller的详细视图中seque(推)到全屏幕。 我猜这不能从界面生成器完成,我需要一些自定义代码来做到这一点,但我不知道从哪里开始寻找如何做到这一点。 我已经浏览了苹果文档,找不到太多的话题。 任何帮助/方向如何去这个将不胜感激。

animationUISplitViewController的主细节控制器的可见性

在我的UISplitViewController中,我希望主视图控制器只允许在纵向方向或当我的详细信息视图控制器不显示控制器typesMyFullScreenViewController 。 我已经实现了UISplitViewControllerDelegate以适当地指出这一点。 -(BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation { if (UIInterfaceOrientationIsPortrait(orientation) || [[self.navigationController topViewController] isKindOfClass:[MyFullScreenViewController class]]) { return YES; } return NO; } 但是,UISplitViewController仅在旋转期间调用委托。 所以MyFullScreenViewController实现了一个viewWillAppear:animated和viewWillDisappear:animated 。 – (void)viewWillAppear:(BOOL)animated { [self fakeRotationOfSplitViewController]; [super viewWillAppear:animated]; } – (void)viewWillDisappear:(BOOL)animated { [self fakeRotationOfSplitViewController]; [super viewWillDisappear:animated]; } -(void)fakeRotationOfSplitViewController { UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation]; CGFloat duration = 1.0f; CGFloat […]