jjzjj

NavigationController

全部标签

ios - 隐藏导航栏时 UINavigationController 推送弹出

我有两个ViewControler(ControllerA,ControllerB),它们都在viewWillAppear中隐藏导航栏,并在viewWillDisappear中显示导航栏(因为有时,Controller将它们插入必须显示栏)现在,当我在导航堆栈中获得ControllerA时遇到问题,在ControllerA中,我必须按下ControllerB。因为推送动画会调用A的viewWillDisappear,所以在动画中。栏会快速显示和隐藏,同样的问题发生在弹出动画中。当viewControllers有不同的显示/隐藏导航设置时,如何很好地执行这种推送和弹出?

ios - NavigationController 内的 Swift ImagePicker

所以我在一个导航Controller中,想在按下按钮时显示一个图像选择器。这很好用,但是当我关闭选择器时,它会让我回到RootViewController,而不是我想处理图像的地方。这是我的代码:@IBActionfuncattachPhotoButtonPressed(sender:UIButton){imagePicker.sourceType=.SavedPhotosAlbumpresentViewController(imagePicker,animated:true,completion:nil)}funcimagePickerController(picker:UIImag

iOS Swift 从普通导航栏过渡到透明栏

我用谷歌搜索了类似的问题,但没有一个能真正解决这个问题。我试图从带有普通导航栏的ViewController推送到带有透明导航栏的新ViewController。这是我用来设置导航栏透明的第二个ViewController中的代码self.navigationController?.navigationBar.setBackgroundImage(UIImage(),for:.default)self.navigationController?.navigationBar.shadowImage=UIImage()navigationController?.navigationBar.

ios - 导航栏中的渐变与其下方的 View 不同。

我想要达到的目标设计是下图:我使用下面的代码创建了渐变,并借助imagefromlayer函数将其设置到导航栏。funcimage(fromLayerlayer:CALayer)->UIImage{UIGraphicsBeginImageContext(layer.frame.size)layer.render(in:UIGraphicsGetCurrentContext()!)letoutputImage=UIGraphicsGetImageFromCurrentImageContext()UIGraphicsEndImageContext()returnoutputImage!}/

ios - NavigationController 中的循环 - 如何避免内存泄漏?

在我的应用程序中,我有一个带有四个Controller的导航Controller。用户从A->B->C->D->A_1->B_2->等导航。这是一种方式,每个ViewController始终是一个新的ViewController。这个循环是有意的。但是在ViewControllerA和C中,我初始化了GoogleMaps,它占用了大量内存。因此,在15次循环(以及30次GoogleMaps初始化)之后,我的应用程序因内存泄漏而崩溃。现在我看到了解决这个问题的不同可能性。1)我没有初始化一个新的ViewController,而是重用了我的VC。所以谷歌地图只初始化了两次。我不喜欢这个,因

ios - 使用后退按钮从 NavigationController 导航到另一个 NavigationController

您好,所以我有这个storyboard结构我在ViewControllerB中有一个button我需要那个button指向底部NavigationController其中有ViewControllerC作为rootViewController所以当我在ViewContollerB中按下button它带我到C现在我需要C上的后退按钮将我带回B我已经尝试查看,但所有引用资料都显示了如何在ViewController而非NavigationControllers之间导航 最佳答案 我认为您不能将NavigationController插入

IOS 如何更改现有 UI 以使用新的导航 Controller

好的,我遇到了麻烦。我用一个名为MainView的UITableViewController自定义类启动了一个应用程序。在界面生成器中,我修改了View,以便在顶部有一个文本框和一个按钮以及一个UITableView。将数据源和委托(delegate)连接到MainView类,并在所有代码中编程以使用文本字段作为搜索字段,将按钮作为搜索触发器,然后在适当的委托(delegate)方法中编程以填充UITableView。这非常有效。现在下一步是使用-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSInde

iphone - 从后台操作调用导航 Controller 方法

我正在使用NSOperation运行后台操作,它从我的AppDelegate启动。我想做的是当操作完成时,让它调用RootViewController.m文件中的方法。目前我的AppDelegate中有一个名为navigationController的属性,我一直在尝试像这样设置调用:AppDelegate.m:GetRSSOperation*gro=[[GetRSSOperationalloc]initWithURL:rssURLtarget:selfselector:@selector(dataSourceDidFinishLoadingNewData:)];[queueaddOp

iphone - 如何更改导航栏高度

这个问题困扰了我一天多。我需要修改UINavigationBar的高度。UINavigationController是这样在AppDelegate中创建的。self.navigationController=[[UINavigationControlleralloc]initWithRootViewController:mainController];[self.windowaddSubview:self.navigationController.view];[self.windowmakeKeyAndVisible];如果我将[self.navigationController.na

objective-c - 如何将其他 View Controller 推送到 NavigationController 但保留 TabBar?

我有一个以导航Controller根部的基本ViewController开头的应用-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{self.navController.viewControllers=[NSArrayarrayWithObject:[selfgetHomeViewController]];[[selfgetWindow]addSubview:self.navController.view];[[selfgetW