我一直在网上寻找解决方案.我找不到任何东西.所以:我正在使用UINavigationController.我正在推动两个UIViewControllers.在第二个推送ViewController我正在执行此代码:
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error {
NSLog([error localizedDescription]);
[self.navigationController popViewControllerAnimated:YES]; }
Run Code Online (Sandbox Code Playgroud)
预期的事情将是最后推送的ViewController消失.在这个应用程序中,我在很少的地方这样做,它在这个非常ViewController期望的任何地方工作正常.会发生什么是只有后退按钮离开屏幕(动画),但其他一切都停留在屏幕上.在控制台输出中,执行此行时会打印出两个内容:
2011-03-14 16:32:44.580 TheAppXY [18518:207]嵌套弹出动画可导致导航栏损坏
2011-03-14 16:32:53.507 TheAppXY [18518:207]在意外状态下完成导航过渡.导航栏子视图树可能已损坏.
两个错误消息我找不到任何信息.我正在使用XCode 4和iOS SDK 4.3.也许任何人都可以帮我解决这个问题.
我正在使用导航应用程序.我将First ViewController推送到Second ViewController,从Second ViewController推送到Third ViewController.现在我想从Third ViewController弹出到First ViewController.我正在使用下面的代码执行此任务,但我的应用程序崩溃了.
请任何机构给我一些适当的指导.我不能使用pop到rootViewController,因为它是不同的viewController.提前致谢...
在第三个ViewControler中我写了这个:
FirstViewCtr *x=[[FirstViewCtr alloc] initWithNibName:@"FirstViewCtr" bundle:nil];
[self.navigationController popToViewController:x animated:NO];
Run Code Online (Sandbox Code Playgroud) 我正在创建一个ViewController对象,将其推送到导航控制器.当从堆栈弹出对象时 - 它没有被释放而Deinit没有被调用.可能是什么原因?
这是推送的代码:
self.navigationController?.pushViewController(CustomViewController(), animated: true)
Run Code Online (Sandbox Code Playgroud)
这是弹出的代码:
self.navigationController?.popViewControllerAnimated(true)
Run Code Online (Sandbox Code Playgroud) (如果需要编辑进行最终编辑,请参阅其他编辑,而不是编写过长的问题).
我有一个应用程序设置如下:
InitialViewController(子类ECSlidingViewController)
主导航控制器(子类UINavigationController)
主要家庭视图控制器(子类UIViewController)
在viewDidLoadinitialViewController中,我以主视图控制器为根加载主导航控制器.
self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainNavVC"];
Run Code Online (Sandbox Code Playgroud)
在应用程序的第一次加载时,状态栏和导航栏是分开的.

这是期望的效果.
但是,然后我使用标准方法加载模态视图控制器并关闭它:
[self performSegueWithIdentifier:@"LoadSelectOpponentVC" sender:self];
Run Code Online (Sandbox Code Playgroud)
然后关闭:
[self dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
这反过来导致主导航控制器(保持主视图控制器)错误地显示状态栏并重叠:

View controller-based status bar appearanceedgesForExtendedLayout相关的无,但没有改变.我试图注销一些框架以查看问题发生的位置:
在第一次加载时:
主Nav VC - 查看框架 - {{0,0},{320,480}}
Main Nav VC - Nav Bar Frame - {{0, 0}, {320, 44}}
Initial VC - View Frame - {{0, 0}, {320, 480}}
Home VC - View Frame - …Run Code Online (Sandbox Code Playgroud) 我的应用程序中有一个视图控制器,在故事板中拖动了导航栏.它在iOS 6中运行良好,但在iOS 7中它看起来像这样:

状态栏和导航栏不应相互冲突.我已经看到很多关于堆栈溢出的问题,但它们对我没什么帮助.
有些问题说我应该使用这个"self.edgesForExtendedLayout = UIRectEdgeNone;" 但它不起作用.有人说我应该删除导航栏并将其嵌入导航控制器中,由于我的程序实现方式,我无法做到这一点.一些解决方案建议使用视图边界,但它对我来说也不起作用.
有什么能帮助我解决这个问题.提前致谢!
更新:我已将视图控制器嵌入到uinavigation控制器中.删除了之前手动添加的导航栏.现在它在故事板中看起来不错,但是当我运行它时,它显示以下内容:
它显示来自其后面的另一个视图控制器的文本,即其父视图控制器.意味着它现在透明.谁能指出我做错了什么?
我正在尝试实现与Apple的消息应用程序中底部文本输入栏类似的定位行为.
我尝试了许多方法,搜索高低,有许多类似的问题,但没有一个令人满意.
指定:
UIToolbar视图的底部有一个建议的解决方案:
此解决方案不符合第二个要求的特殊情况(工具栏是在键盘出现和消失时跟随键盘):
UIScrollViewKeyboardDismissMode被介绍了.它启用了用于解除键盘的交互式手势.当用户翻过键盘的顶部边缘时,键盘框架逐渐跟随.此解决方案无法容纳此行为,只是将工具栏搁置在其动画位置.此外,此解决方案也无法满足第三个要求的特殊情况(当键盘可见时,工具栏应保持在键盘顶部):
此解决方案的另一个问题:
下一个提出的解
UIResponder的inputAccessoryView这个解决方案似乎是Apple打算支持这种行为的方式,因为它解决了手动设置工具栏动画的所有缺点.但是这个解决方案完全忽略了第四个要求(当键盘被隐藏时,工具栏保持("停靠")在视图的底部).
似乎解决方案是使用UIResponder's inputAccessoryView,但不知何故使得inputAccessoryView不移动到视图之下.我正在寻找干净的代码来实现这一目标.在其他地方有精心制作的,几乎是高贵的尝试,但如上所述,它们不符合要求.
在我的特定情况下,我希望使用UINavigationController工具栏,这需要额外的问题,因为这不是预期的行为UINavigationController.无论如何,我愿意介绍一些hacky修复来实现这一目标.
我正在使用Storyboard和Xcode 6.我在Storyboard中有下一个控制器和场景:
UINavigationController具有HomeViewController作为根.HomeViewController有一个按钮Show (e.g. Push) UITabBarController.UITabBarController有4 UIViewControllers.
但我的问题是,在我显示之后UITabBarController,4中没有导航栏UIViewControllers.但我认为,如果我Show (e.g. Push) UITabBarController那么它应该有嵌入式导航控制器,它是故事板中的初始控制器.我对吗?如果是这样,我如何在Storyboard中设置导航栏,因为我在故事板上看到的推送标签栏中现在有默认栏事件.我选择了UIViewController并将身份检查器中的模拟指标设置为Top属性的Translucent Navigation bar,但我认为它应该自动添加到此控制器和标签栏而无需其他步骤.
或者我应该为每个具有根视图控制器的标签栏项添加新的导航控制器?
主要问题为什么我没有在使用show(例如Push)的故事板中看到导航栏.例如,如果我添加导航控制器然后设置为根 - 标签栏控制器,那么Xcode会自动添加顶部导航栏,但如果队列有一个额外的步骤,就像在我的情况下HomeViewController一样,顶部导航栏永远不会自动出现.
uitabbarcontroller uinavigationcontroller ios uistoryboard xcode6
我一直在尝试以编程方式重做我的应用程序上的工作.(不使用故事板)
除了手动制作导航控制器外,我差不多完成了.
我一直在做一些研究,但我找不到任何手动实现这个的文档.(我开始将应用程序作为单一视图应用程序)
目前,我只有1个viewcontroller.当然是appDelegate
导航控制器将在应用程序的所有页面中使用.
如果有人可以帮助我,或发送一些链接到一些适当的文档,以编程方式执行此操作,将不胜感激.
编辑:
我忘了在Swift中提到它.
当我在我的项目中整合Instagram时.我得到一个image从UIImagePickerController后它,我想将它发送到Instagram的但是当我发送image到Instagram的通过UIDocumentInteractionController委托方法presentOptionsMenuFromRect:inView: animated: 是这样
[documentInteractionController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES];
Run Code Online (Sandbox Code Playgroud)
警告出现警告:在演示文稿正在进行时尝试显示<_UIDocumentActivityViewController:0x7584780>!
该应用程序不是崩溃.但我没有得到问题.为什么会出现此警告及其含义.我在互联网上搜索并阅读有关此问题,但没有得到任何答案.帮我 !!
可能重复:
如何更改导航栏上"后退"按钮的标题
情况:
我有一个由导航控制器管理的UIViewController.我可以通过简单地调用来设置覆盖UIViewController的导航栏的标题self.title = @"title".但是,我希望能够设置导航栏的后退按钮文本(对于不同的语言,这样......)
问题:
我不知道如何设置后退按钮的文本.
问题:
如何设置UINavigation栏的后退按钮(以编程方式不在IB中)?
ios ×5
iphone ×3
ios7 ×2
objective-c ×2
swift ×2
xcode ×2
deinit ×1
uikeyboard ×1
uiresponder ×1
uistatusbar ×1
uistoryboard ×1
uitoolbar ×1
xcode6 ×1