草庐IT

UINavigationController-Alike

全部标签

ios - UIPageViewController 内的 UINavigationController 垂直滚动,导航栏高度损坏

我正在使用UIPageViewController来显示几个Controller,第一个是UINavigationController,乍一看它看起来不错,但是当你滚动到下一个时,第一个导航栏会改变高度,并将标题直接放在状态栏下方.我已经搜索过堆栈溢出,但找不到我的问题的任何答案。简单演示:https://github.com/augard/PageScrollingBug 最佳答案 我以一种非常hacky的方式解决了这个问题——子类化UINavigationController并调配了它的navigationBar的setCent

ios - UINavigationController 的 interactivePopGestureRecognizer 不工作

我正在尝试实现自定义id将一个特定的ViewController推送到导航Controller的导航堆栈时的对象。但是,我发现这样做会阻止UINavigationController使用默认的交互式转换,即使在不使用我的自定义转换的ViewController上也是如此。我不知道为什么会这样。经过进一步调查,我发现从该方法返回nil-(id)navigationController:(UINavigationController*)navigationControlleranimationControllerForOperation:(UINavigationControllerOpe

ios - 交互式默认 UINavigationController 转换

我想让UINavigationController的默认推送和弹出动画具有交互性,就像从屏幕左侧滑动手势一样。这些转换将由手势识别器驱动。网上有很多关于使用UIViewControllerInteractiveTransitioning使自定义动画具有交互性的信息,但我只是想使默认过渡具有交互性。据我所知,使用此方法无法完成此操作。如何使这些过渡具有交互性,而又不影响默认动画? 最佳答案 我花了几天时间调查这个问题,我只能使用UIViewControllerInteractiveTransitioning和提供“to”和“from”

cocoa-touch - UISplitViewController 在尝试使用其中的 UINavigationController 后停止自动旋转

我的iPad应用程序中的UISplitViewController遇到了一些麻烦。我正在尝试使用UISplitView内部的UINavigationController制作一个简单的导航树。我使用以下基本代码来执行此操作:导航Controller.h@interfaceNavController:NSObject{/**ThisisconnectedproperlytotheUINavigationControllerinthe*UISplitViewControllerthroughInterfaceBuilder.*/UINavigationController*navigatio

objective-c - 调整 UINavigationController 的大小?

我希望我的导航Controller只占屏幕的一半。这可能吗?在IB中,当我拖动时,它会强制我填满整个屏幕,我无法调整它的大小。如果不可能,是否有替代方案?谢谢。 最佳答案 你可以,但你只能在iOS5中执行此操作,因为当我尝试在UINavigationController中执行任何类型的直接View操作时,而不是推送或弹出另一个ViewController。导航Controller不会显示它们。这是您需要做的。-(void)viewDidLoad{UINavigationController*navController=[[UINav

ios - 在 iOS 上使用 UINavigationController 时如何在屏幕上垂直居中?

我在IB中的UIViewController中定义了一个UIView,并且我放置了一个完全居中(垂直和水平)的事件微调器。这一切看起来都很棒,除了在实践中我通过将UIViewController推到UINavigationController上来使用它-因此,它显示“向下推”我的屏幕50像素或其他任何东西,所以我的微调器不再居中。您如何解决这个问题?我希望相同的代码适用于所有iOS设备。我不介意以编程方式添加它——也许我需要这样做?但我不知道如何使用屏幕尺寸、View尺寸、导航View尺寸,然后以微调器的“本地”坐标系结束。 最佳答案

iphone - 如何将 uinavigationcontroller 推送到另一个 uinavigationcontroller

目前我有一个使用uinavigationcontroller但仅在RootView中隐藏导航栏的应用程序,我想在某些应用程序中将此应用程序用作外部库并将整个应用程序作为一个菜单项推送。但是当我尝试将此应用程序推送到导航堆栈时,它隐藏了导航栏,我无法返回到我之前的列表。如何在这种情况下显示后退按钮以及如何在其他导航Controller中推送一个uinavigationcontroller?请帮我解决这个问题。 最佳答案 navigationController适用于整个应用程序。因此,您需要做的只是将导航bvar隐藏在RootView

iphone - 捕捉 UINavigationController native 后退按钮操作

关于覆盖导航Controller的后退按钮操作有很多问题,但每个人都说没有直接的方法可以做到这一点。我通过继承UINavigationController并覆盖UINavigationBarDelegate方法实现了这一点。但问题是UINavigationController的接口(interface)没有实现UINavigationBarDelegate协议(protocol)(但它实现了这个方法,因为这段代码有效:),考虑到这里使用了未记录的API,我担心该应用程序会被Apple拒绝。那么,问题是:您如何看待是否使用私有(private)API?这是代码:@interfaceCus

ios - IBM Worklight - 是否可以将 UINavigationController 添加为起始 native 页面?

我正在尝试将基于导航的iOS应用程序集成到IBMworklight中。但是,我无法将UINavigationController添加为其第一个native页面。在教程中,他们只解释了集成一个普通的UIViewController。由于UINavigationController是UIViewController的子类,难道不应该也能集成它吗?有人可以告诉我是否可以使用"WL.NativePage.show"API集成navigationcontroller。目前,我无法弄清楚如何为navigationcontroller对象设置rootviewcontroller。

iOS 8 : UINavigationController popping without animation and then pushing

在我们的应用程序中,有很多地方需要我们快速弹出一个没有动画的ViewController,然后推送一个有动画的新ViewController。我们会做类似的事情[navControllerpopViewControllerAnimated:NO];[navControllerpushViewController:newVCanimated:YES];在iOS8之前,这工作正常并且动画显示新的ViewController滑入当前ViewController,因为导航Controller第一次弹出时没有动画。现在有了iOS8,这似乎已经改变了,现在发生的是顶层ViewController弹