草庐IT

UINavigationController-Alike

全部标签

ios - 恢复并保留从 UINavigationController 推送的 UIViewController,没有 Storyboard

我尝试恢复我从初始ViewController推送的简单UIViewController。第一个被保留,但第二个在重新启动时就消失了。我不使用Storyboard。我在每个ViewController中实现该协议(protocol),并将restorationIdentifier和restorationClass添加到它们中的每一个。第二个viewController继承自第三个viewController并从xib文件初始化。我不确定是否需要将UIViewControllerRestoration实现到第三个,因为我不直接使用它。我的代码看起来通常是这样的:-(id)initWith

ios - UINavigationController pushViewController 推送 Controller 然后 "automatically"关闭它

在我的HomeViewController的viewDidAppear方法中,我有以下代码:-(void)viewDidAppear:(BOOL)animated{[superviewDidAppear:animated];NSUserDefaults*defaults=[NSUserDefaultsstandardUserDefaults];BOOLdidRunBefore=[defaultsboolForKey:@"didRunBefore"];if(!didRunBefore){//checktoseeifchildrenalreadyexist(previoususer)NSA

ios - UINavigationController 在 iOS 7 上像模式一样推送

我的第一个viewController内部有一个uitableView,在Storyboard上进行了segue,将单元格拖到下一个View并选择“显示”。在第一个viewController上,导航栏显示得很好。推送在iOS8上完美运行,来自右侧。在iOS7上,推送似乎在MODAL样式上工作,下一个ViewController来自底部,导航栏消失了!有人看起来像那样吗? 最佳答案 在“已弃用”部分将您的segue类型更改为“推送”。看附件截图 关于ios-UINavigationCon

ios - 带有 UINavigationController 的 UISplitViewController 作为详细信息 View : push controller via Storyboard segue

我现在的Storyboard是这样设置的:(原图:http://i.stack.imgur.com/1Nk6K.png)有一个SplitViewController,带有两个NavigationController。Master的NavigationController有一个包含不同单元格(黄色)的TableView;详细信息的导航Controller有一个包含不同单元格(蓝色)的CollectionView(绿色)。通过点击蓝色和黄色单元格,相应的ViewController(红色)会在详细信息的导航Controller中打开。如您所见,黄色单元格与红色View之间有一段连接。seg

ios - 在导航回 UINavigationController 堆栈中的前一个 Controller 之前向用户提示 UIAlertView

我试图在导航到前一个Controller之前提示UIAlertView,如果用户决定留在同一个ViewController上则阻止导航。使用CCTBackButtonActionHelper,UIALertView可以很容易地生成,但我面临的唯一问题是它将后退按钮的颜色更改为灰色,就像单击时任何禁用的UIBarButton控件一样。但是,单击导航栏上的任意位置会恢复其原始颜色。那么我怎样才能防止改变它的颜色呢?这就是我现在的做法。在CustomNavigationContoller.m中-(BOOL)navigationBar:(UINavigationBar*)navigationB

ios - 如何将另一个 UIViewController 添加到现有的 UINavigationController

我有一个带有两个ViewController的应用程序。第一个嵌入在导航Controller中并有一个导航栏,在第一个ViewController中的某个方法结束后,我以编程方式呈现第二个ViewController。这工作正常,但这样第二个ViewController不是导航Controller堆栈的一部分,并且与第一个ViewController没有任何关系。像这样,我无法利用导航Controller。关于如何解决这个问题的任何想法?在用户从照片库中选取图像后,我向第二个ViewController显示此代码:-(void)imagePickerController:(UIImag

ios - 设置从模态模态呈现的 UINavigationController 的状态栏文本颜色

我有一个模态视图Controller,其导航Controller的栏样式为"UIStatusBarStyleBlack",因此其状态栏文本颜色为白色。但是,如果我从此处以模态方式呈现一个UINavigationController,并且我希望它具有"UIStatusBarStyleDefault"的栏样式,我无法控制状态栏文字颜色。我已经尝试了SO上建议的所有内容(子类、扩展等),但是没有一个解决方案考虑到这种情况(模态上的模态)。编辑:这似乎只是从非全屏模式呈现时的问题。所以,如果第一个模式是全屏,一切正常。但如果它是iPad上的表单或弹出框,那么从那里呈现的模式将不会更新状态栏颜色

ios - 在 iOS 的多个 View 中使用 UINavigationController 中的固定背景图像?

我想为整个应用程序使用相同的背景图片,所以我用UIImageView和UIContainerView创建了一个普通的UIViewController,其中包含一个导航Controller。然后我将所有ViewController的背景颜色设置为ClearColor这是我的Storyboard:但是当我点击按钮时,它们之间的segue有一些黑色的alpha背景。请参阅此GIF:那么有没有更好的方法来实现这一点呢?或者我该如何解决这个问题?谢谢! 最佳答案 我建议子类化UINavigationController并在您的CustomNa

ios - UINavigationController 弹出到另一个根 Controller

我有3个ViewController。前2个ViewController嵌入在UINavigationController中,如屏幕截图所示:起点是ViewController1的UINavigationController。然后,我推送到ViewController3。但是,我希望它弹出到包含ViewController2的UINavigationController的根目录。如何更改导航层次结构?需要保持弹出动画我知道更改RootViewController是一种实现方式,但这在用户体验上会很奇怪附注为便于说明,此Storyboard已简化;它们是ViewController1、2

ios - 使用 UINavigationController 比使用 addSubView 添加 View 有什么好处?

假设我有两个页面,其中有两个UIViewControllers、UIViewController1和UIViewController2.如果我想在UIViewController1之上显示一个UIViewController2我有三个选择:使用UINavigationControllerpushViewController。使用presentViewController。addSubView:UIViewController1.view.addSubView(UIViewController2.view)如果我需要在我的View之间进行转换,我更喜欢第三个选项,因为它让我可以更好地控制