我有一个uinavigationcontroller.登录后我想从UInavigationcontroller堆栈中删除RegisterViewController,LoginViewController等视图控制器.
我的意思是我必须从堆栈中删除特定的视图控制器?怎么可能.?
我查了这篇文章
所以我们可以把它变成一个数组
NSArray *allviewcontrollers= [(UINavigationController *)navigationController viewControllers];
Run Code Online (Sandbox Code Playgroud)
但是如何做进一步的过程..这个问题正在狩猎我很久..请回答我..谢谢你
我有一个带有UITableView菜单的iPhone应用程序.选择表中的行时,相应的视图控制器将被推送到应用程序的UINavigationController堆栈中.
我的问题是,MenuViewController它不需要工具栏,但是UIViewControllers它们被推入堆栈中.每个UIViewController那个被推开的呼叫setToolbarHidden:animated:在viewDidAppear:.要隐藏工具栏,我呼吁setToolbarHidden:animated:在viewWillDisappear:.
显示工具栏的工作方式,以便当推出的视图出现时,工具栏向上滑动并且视图正确调整大小.但是,按下后退按钮时,工具栏会向下滑动,但视图不会调整大小.这意味着当另一个视图过渡时,沿着视图底部有一个黑色条带.我已经尝试在隐藏工具栏之前将工具栏的高度添加到视图的高度,但是这会导致视图在转换,以便仍然有一个黑条.
我意识到我可以管理自己的UIToolbar,但UINavigationControllers为了方便起见,我想使用内置的UIToolbar.
这个论坛帖子提到了同样的问题,但没有提到解决方法.
这个问题是关于UINavigationController中的iOS设备旋转和多个受控视图.有些观点应该限制为纵向,有些观点应该自由旋转.如果您尝试使用三个视图创建最简单的设置,您会注意到自动旋转行为有一些非常令人讨厌的怪癖.然而,这个场景非常简单,所以我想我要么没有正确地进行自动旋转实施,要么就是忘了什么.
我有一个非常基本的演示应用程序,显示了怪异,我制作了一个视频显示它在行动.
设置非常基本:调用三个视图控制器FirstViewController,SecondViewController并且ThirdViewController所有扩展AbstractViewController显示带有类名称的标签,并且shouldAutorotateToInterfaceOrientation:当设备处于纵向时返回YES .SecondViewController重写此方法以允许所有旋转.所有三个具体类都添加了一些彩色方块,以便能够通过将控制器推入/关闭来在视图之间导航UINavigationController.到目前为止,我想说的是一个非常简单的场景.
如果您以纵向或横向方向握住设备,这是我不仅希望实现的结果,而且还期望.在第一张图片中,您会看到所有视图都是"直立",而在第二张图片中,您会看到只有第二个视图控制器反转设备的方向.要清楚,应该可以从横向模式的第二个视图导航到第三个视图,但因为第三个视图仅支持纵向方向,所以它应该只能以纵向显示.查看结果是否正常的最简单方法是查看载体条的位置.

但这个问题在这里是因为实际结果完全不同.根据您在旋转设备时所处的视图,并根据您导航到下一个视图,视图将不会旋转(具体而言,didOrientFromInterfaceOrientation:永远不会调用该方法).如果你在第二个横向并且导航到第三个,它将具有与第二个相同的方向(=坏).但是,如果您从第二个导航回到第一个,则屏幕将旋转为"强制"纵向模式,并且载波条将位于设备的物理顶部,无论您如何握住它.视频更详细地显示了这一点.

我的问题是双重的:
干杯,EP.
编辑:作为奖励之前的最后一招,我完全重写了这个问题,使其更短,更清晰,并希望更有吸引力给出答案.
cocoa-touch objective-c uiviewcontroller uinavigationcontroller device-orientation
所以我在我的navigationcontroller上做了一些自定义动画,以及它推送和弹出viewControllers的方式.
一切顺利.只要我添加以下代码(在子类中UINavigationController),我就会面临巨大的性能损失.添加阴影后,所有动画都变得非常迟钝.这是预期的还是我在代码中做错了什么?
// This code gets called once during NavigationController initialization.
[self.view setClipsToBounds:NO];
[self.view.layer setCornerRadius:5];
[self.view.layer setShadowOffset:CGSizeMake(0, 20)];
[self.view.layer setShadowColor:[[UIColor yellowColor] CGColor]];
[self.view.layer setShadowRadius:20.0];
[self.view.layer setShadowOpacity:1];
Run Code Online (Sandbox Code Playgroud)
编辑:
将我的阴影半径更改为1,它仍然很慢
我有一个UINavigationController(像一个向导页面一样)我以编程方式创建,我需要显示一个"取消"按钮来取消任何进程UIViewController.
创建UINavigationController:
FirstVC *firstVC = [[[FirstVC alloc] initWithNibName:@"FirstPage" bundle:nil] autorelease];
firstVC.delegate = self;
navigationController = [[UINavigationController alloc] initWithRootViewController:firstVC];
[self.view addSubview:navigationController.view];
Run Code Online (Sandbox Code Playgroud)
添加取消按钮:
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelRequestNewLeave:)];
navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;
[cancelButton release];
Run Code Online (Sandbox Code Playgroud)
但当我按下第二页时UINavigationController,取消按钮上没有显示UINavigationBar.如果我回到第一页,取消按钮就在那里.所以,显然该按钮仅为第一个视图添加.我相信这是因为我不是子类UINavigationController,因为我需要在子视图中使用它.但我不知道如何设置rightBarButtonItem在UINavigationController其中编程方式创建.
navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;
Run Code Online (Sandbox Code Playgroud)
有人可以对此有所了解吗?
提前致谢.
我推ViewController它含有不太多的意见,UIScrollView这里面包含10次,我有一个单身ViewController,没有再次释放和分配一次又一次地推ViewController,所以所有的事情,我在做viewDidLoad(),和viewWillAppear(),但动画是缓慢的,波涛汹涌,它可能是什么?
我想知道它们的不同之处.什么时候我可以打电话
[self dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
什么时候打电话
[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
根据apple的文档:dismissViewControllerAnimated意味着"解除接收者提供的视图控制器".但我总是不能通过这种方法解雇视图控制器.
我试图在iOS7中自定义导航控制器的navigationBar,标题颜色不会改变.我正在做以下事情:
[navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:46.0f/256.0f green:46.0f/256.0f blue:46.0f/256.0f alpha:1]];
[navigationController.navigationBar setTranslucent:NO];
[navigationController.navigationBar setTitleTextAttributes:@{[UIColor whiteColor]:UITextAttributeTextColor}];
[self presentViewController:navigationController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
navigationBar半透明关闭并且很暗,但标题也保持黑暗.我也尝试创建一个自定义标签,并将其设置为标题视图,运气不佳.
如何更改标题颜色?
objective-c uinavigationbar uinavigationcontroller ios7 swift
我是iOS开发的新手,还没有以编程方式尝试过.我更愿意在故事板中使用它.
我正在遵循XCode 6.1中XCode 4.5的这个有点过时的教程来创建一系列由一个导航控制器连接的视图. http://youtu.be/rgd6mCuzlEc

一旦我创建了第二个视图控制器,我无法双击导航栏来更改名称,我无法为其添加一个条形按钮.
我有一个Segue从视图1到2的条形按钮"Item"进入.注意在"View Controller Scene"中没有导航项.如果我向视图控制器添加任何元素,它们属于"视图"而不是"视图控制器",与视图控制器1不同,它位于"一"下.
这是对XCode的限制吗?我使用了错误的Segue(Show)吗?我缺少隐藏的设置或定制吗?
我实际上有两个视图控制器工作,并在一个单独的项目中失败第三,但我不知道我做了什么,所以我很确定我可能无法重现..
编辑: 解决方法而不是新的自适应SHOW segue,使用已弃用的PUSH segue,添加条形按钮项,然后更改回自适应SHOW segue.
xcode uinavigationbar uiviewcontroller uinavigationcontroller ios
我正在尝试使用UISearchControlleriOS 8中的新功能,并将其嵌入UISearchBar到我的UINavigationBar.这很容易完成如下:
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.delegate = self
searchController.searchBar.delegate = self
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
navigationItem.titleView = searchController.searchBar
Run Code Online (Sandbox Code Playgroud)
但是当我添加范围按钮时:
searchController.searchBar.showsScopeBar = true
searchController.searchBar.scopeButtonTitles = ["Posts, Users, Subreddits"]
Run Code Online (Sandbox Code Playgroud)
它添加了背后的按钮UISearchBar,显然看起来很奇怪.
我该怎么做?
uinavigationcontroller uisearchbar ios ios8 uisearchcontroller
ios ×5
iphone ×4
objective-c ×3
cocoa-touch ×2
calayer ×1
ios7 ×1
ios8 ×1
navigation ×1
shadow ×1
swift ×1
uikit ×1
uisearchbar ×1
uitoolbar ×1
xcode ×1