标签: uinavigationcontroller

iPhone仅在第一页上隐藏导航栏

我有下面的代码隐藏并显示导航栏.它在第一个视图加载时隐藏,然后在调用"children"时隐藏.麻烦的是,当他们回到根视图时,我找不到触发它再次隐藏的事件/动作....

我在根页面上有一个"测试"按钮,用于手动执行操作,但它并不漂亮,我希望它是自动的.

-(void)hideBar 
{
    self.navController.navigationBarHidden = YES;
}
-(void)showBar 
{       
    self.navController.navigationBarHidden = NO;
}
Run Code Online (Sandbox Code Playgroud)

hide uinavigationcontroller ios

374
推荐指数
8
解决办法
19万
查看次数

如何在iOS 7上的UINavigationController中禁用后滑动手势

在iOS 7中,Apple添加了一个新的默认导航行为.您可以从屏幕的左边缘滑动以返回导航堆栈.但在我的应用程序中,此行为与我的自定义左菜单冲突.那么,是否可以在UINavigationController中禁用这个新手势?

objective-c uinavigationcontroller uigesturerecognizer ios ios7

320
推荐指数
10
解决办法
14万
查看次数

如何隐藏iPhone导航栏上的"后退"按钮?

我添加了一个导航控件,可以在我的应用中切换视图.但有些观点不应该有"后退"(前一个标题)按钮.有关如何隐藏后退按钮的任何想法?

navigation iphone objective-c uinavigationcontroller ios

310
推荐指数
4
解决办法
17万
查看次数

如何在Swift的第一个ViewController中隐藏导航栏?

如何在第一个ViewController或swift中的特定ViewController中隐藏导航栏?

我使用以下代码viewDidLoad():

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController?.isNavigationBarHidden = true
}
Run Code Online (Sandbox Code Playgroud)

还有viewWillAppear:

override func viewWillAppear(animated: Bool) {
    self.navigationController?.isNavigationBarHidden = true
}
Run Code Online (Sandbox Code Playgroud)

这两种方法都隐藏了所有ViewControllers的导航控制器.

uinavigationbar uinavigationcontroller ios swift

240
推荐指数
7
解决办法
17万
查看次数

如何在基于导航的应用程序中更改Push和Pop动画

我有一个基于导航的应用程序,我想改变推动和弹出动画的动画.我该怎么办?

编辑2018

这个问题有很多答案,现在已经有一段时间了,我已经重新选择了我认为现在最相关的答案.如果有人不这么认为,请在评论中告诉我

animation uinavigationcontroller ios

213
推荐指数
14
解决办法
18万
查看次数

如何向UINavigationController添加右键?

我试图在导航控制器的顶部栏添加刷新按钮但没有成功.

这是标题:

@interface PropertyViewController : UINavigationController {

}
Run Code Online (Sandbox Code Playgroud)

以下是我尝试添加它的方法:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain
                                          target:self action:@selector(refreshPropertyList:)];      
        self.navigationItem.rightBarButtonItem = anotherButton;
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

iphone uinavigationbar uinavigationcontroller ios

190
推荐指数
9
解决办法
21万
查看次数

按下UINavigationController的后退按钮时执行操作

UINavigationController按下a的后退按钮时,我需要执行一个动作(清空一个数组),而按钮仍然会使ViewController堆栈中的前一个按钮出现.我怎么能用swift完成这个? 在此输入图像描述

xcode uinavigationcontroller ios swift

183
推荐指数
16
解决办法
16万
查看次数

设置导航控制器中后退按钮的操作

我正在尝试覆盖导航控制器中后退按钮的默认操作.我已经在自定义按钮上提供了一个目标操作.奇怪的是,当通过backbutton属性分配它时,它不会注意它们,它只是弹出当前视图并返回到根:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
                                  initWithTitle: @"Servers" 
                                  style:UIBarButtonItemStylePlain 
                                  target:self 
                                  action:@selector(home)];
self.navigationItem.backBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)

当我把它通过leftBarButtonItemnavigationItem调用我的动作,但是那么按钮看起来像一个普通的圆而不是一个带箭头的后面一个:

self.navigationItem.leftBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)

在返回根视图之前,如何让它调用我的自定义操作?有没有办法覆盖默认的后退操作,还是有一种方法在离开视图时总是被调用(viewDidUnload不这样做)?

iphone cocoa-touch uinavigationcontroller uibarbuttonitem ios

177
推荐指数
7
解决办法
16万
查看次数

iOS 15 导航栏透明

我的 iOS 应用程序使用故事板作为 UI,并使用自定义色调作为导航栏的背景颜色。

我已经在 Xcode 13 beta 5 上测试了我的应用程序,导航栏为“白色”,并且导航栏上的文本不可见。

在https://developer.apple.com/forums/thread/682420的苹果开发者论坛中,它指出“在 iOS 15 中,UIKit 已将scrollEdgeAppearance(默认情况下会生成透明背景)的使用扩展到所有导航栏”。要恢复旧的外观,您必须采用新的 UINavigationBar 外观 API

我将以下代码(来自上面的链接)添加到应用程序委托“application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions”:

        if #available(iOS 13, *) {
            let navigationController = UINavigationController(navigationBarClass: nil, toolbarClass: nil)
            let navigationBar = navigationController.navigationBar
            let appearance = UINavigationBarAppearance()
            appearance.configureWithOpaqueBackground()
            appearance.backgroundColor = UIColor(red: 0.0/255.0, green: 125/255.0, blue: 0.0/255.0, alpha: 1.0)
            navigationBar.standardAppearance = appearance;
            navigationBar.scrollEdgeAppearance = navigationBar.standardAppearance
            navigationBar.isTranslucent = false
        }
Run Code Online (Sandbox Code Playgroud)

这并不能解决问题。我仍然在故事板编辑器中为导航栏设置了自定义色调。我是否需要删除自定义色调,或者我是否错误地实现了外观 API?

uinavigationcontroller swift ios15 xcode13

166
推荐指数
8
解决办法
8万
查看次数

如何在UINavigationController中隐藏"后退"按钮?

你知道如何隐藏UINavigationController中的"后退"按钮吗?另外,如何展示它,但我猜这与隐藏它非常相似......

就像邮件应用程序在查看电子邮件时点击"编辑"一样在iPhone上执行.

iphone uinavigationcontroller ios

156
推荐指数
9
解决办法
8万
查看次数