标签: uinavigationcontroller

如何在iPhone应用程序中的UINavigationBar中添加图像

在我的应用程序中,我想在导航栏中添加图像(徽标).我正在研究XCode 4.2和iOS 5.

我知道UINavigationBar,UIToolBar在iOS 5中已经改变了.所以iOS 4.2 UINavigationBar代码在iOS 5中不起作用.

我想UINavigationBar在4.2和5版本中支持显示图像.

我想像UINavigationBar下面的截图一样显示图像.

导航栏图像

请帮忙解决这个问题,如果有任何示例代码意味着它对我很有帮助.

谢谢!!!

iphone objective-c uinavigationbar uiimage uinavigationcontroller

42
推荐指数
3
解决办法
3万
查看次数

使用导航控制器在故事板中呈现视图控制器 - Swift

我目前正在我的新故事板中显示一个viewController:

var storyboard : UIStoryboard = UIStoryboard(name: AccountStoryboard, bundle: nil)
var vc : WelcomeViewController = storyboard.instantiateViewControllerWithIdentifier("WelcomeID") as WelcomeViewController
vc.teststring = "hello"        
self.presentViewController(vc, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

但是,这使得viewcontroller没有嵌入式导航控制器.我尝试将"WelcomeID"更改为故事板中的导航控制器 - 但是没有成功.

我在Objective -C中使用了这个,但是不知道如何转换为swift:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"SetupStoryboard" bundle:nil];
UINavigationController *navigationController1 = [storyboard instantiateInitialViewController];
navigationController1.modalPresentationStyle = UIModalPresentationFormSheet;
navigationController1.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

WelcomeViewController *vc = (WelcomeViewController *)navigationController1.viewControllers[0];
vc.teststring = @"Hello";

[self presentViewController:navigationController1 animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

你怎么能在swift中做到这一点?

uiviewcontroller uinavigationcontroller ios uistoryboard swift

42
推荐指数
3
解决办法
7万
查看次数

Swift Custom NavBar后退按钮图像和文本

我需要在Swift项目中自定义后退按钮的外观.

这就是我所拥有的: 默认后退按钮

这就是我想要的: 自定义后退按钮

我已经尝试创建自己的UIBarButtonItem,但我无法弄清楚如何将图像放在文本旁边,而不是作为文本的背景或替代.

let backButton = UIBarButtonItem(title: "Custom", style: .Plain, target: self, action: nil    )
//backButton.image = UIImage(named: "imageName") //Replaces title
backButton.setBackgroundImage(UIImage(named: "imageName"), forState: .Normal, barMetrics: .Default) // Stretches image
navigationItem.setLeftBarButtonItem(backButton, animated: false)
Run Code Online (Sandbox Code Playgroud)

uikit uinavigationcontroller uibarbuttonitem ios swift

42
推荐指数
10
解决办法
6万
查看次数

导航栏从我的故事板项目中消失了

从一天到另一天,导航栏从我在XCode 4.6.2中的故事板项目中消失了.我无法恢复它们(清洁,重建,关闭,重新开放等)

在我的设备或模拟器上运行我的应用程序时,一切正常,导航栏就在那里.但是我在设计时在故事板上需要它们,我有按钮,标签那些必须现在改变.(请不要建议从代码中执行此操作,我想以图形方式在故事板上执行此操作,我认为这就是为什么它存在)

如何取回导航栏?我希望解决方案不会像我在某些地方读到的那样再删除/再做一遍,因为我有几十个导航控制器.

提前致谢!

xcode storyboard uinavigationcontroller ios

41
推荐指数
2
解决办法
3万
查看次数

iPhone - 替换导航控制器中的rootview

我有一个带有NavigationController的项目,它包含IB中要显示的第一个ViewController.这只是创建项目时的默认模式.

在第一个viewController中,我收到一些我发送到appDelegate的事件,我希望它用另一个替换rootview.不会去下一个.

所以我这样做:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{   
    // Override point for customization after application launch.
    // Add the navigation controller's view to the window and display.
    self.window.rootViewController = self.navigationController;
    [self.window makeKeyAndVisible];
    return YES;
}

- (void) goNext {

    [self.navigationController popViewControllerAnimated:NO];

    NextViewController* nextWindow = [[[NextViewController alloc] initWithNibName:@"NextView" bundle:nil] autorelease];
    [self.navigationController pushViewController:nextWindow animated:NO];
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,第一个viewcontroller没有poped.第二个是逻辑显示的后退按钮.

我只想将第一个视图替换为另一个视图作为导航过程的开始.

iphone replace root uinavigationcontroller

40
推荐指数
2
解决办法
3万
查看次数

我从导航控制器推出时如何隐藏导航栏?

当我使用pushViewController从导航控制器推送时, 如何在UIViewcontroller中隐藏顶部栏?有什么帮助吗?

iphone objective-c uinavigationbar uinavigationcontroller

39
推荐指数
2
解决办法
3万
查看次数

为什么ARC不会在popViewController之后释放内存

我在UINavigationController中推送和弹出ViewControllers.

我正在跟踪我的应用程序的内存消耗.在推送新的viewController时,内存消耗逐渐增加,但是当我使用[self.navigationController popViewControllerAnimated:NO];内存消耗弹出相同的ViewController时,不会减少而是常量.

用户可以多次推送和弹出特定的viewController,这会导致应用程序在RAM中的高内存消耗.

我该怎么做才能优化我的内存消耗?

memory-leaks memory-management uinavigationcontroller ios

39
推荐指数
2
解决办法
2万
查看次数

如何检测是否从导航控制器中弹出了视图控制器?

当我从导航控制器弹出顶视图控制器时,我目前需要实现一些代码.有没有办法检测视图控制器何时从导航控制器堆栈弹出?

我想尽可能地远离使用viewWillDisappearviewDidDisappear因为我splitview在我的项目中使用a ,并且在主视图中选择不同的行也将触发viewWillDisappear/ viewDidDisappear方法.

cocoa-touch objective-c uiviewcontroller uinavigationcontroller ios

39
推荐指数
2
解决办法
3万
查看次数

使用默认的interactivePopGestureRecognizer快速向后滑动时,iOS 7损坏了UINavigationBar

我有一个问题,我坚持,但我不知道为什么它会发生; 如果我在堆栈上推送一个细节控制器,并且我使用默认的左边缘快速向后滑动interactivePopGestureRecognizer,我的父/根视图控制器UINavigationBar看起来很糟糕或类似的东西,几乎就像内置的iOS转换机制没有时间去做它的工作在细节视图消失后重置它.另外要澄清的是,这个'腐败' UINavigationBar中的所有内容仍然可以触摸,我父/根视图控制器上的所有内容都能正常工作.

对于没有源代码的人投票:没有源代码!这是一个Apple bug!

无论如何,UINavigationBar当调用父/根视图控制器的viewDidAppear方法时,是否将其重置为应该是什么?

请注意,如果我点击左上方的后退按钮而不是使用左边缘,则不会发生此错误interactivePopGestureRecognizer.

编辑:我添加了一个NSLog来检查在父/根视图控制器上viewDidAppear上的navigationBar的子视图计数,并且计数总是相同,是否损坏,所以我想知道为什么弹出的控制器会对我造成严重破坏UINavigationBar.

如果你可以帮助我,我会非常感激!谢谢.

我附上了它的外观截图:请注意,后面的V形图不是我的父/根视图控制器的一部分,它是从堆栈中弹出的部分.Testing123是父/根视图控制器的标题,而不是从堆栈弹出的标题.头部和齿轮图标是父/根视图控制器的一部分.

编辑:我认为这样的事情可以解决问题,但事实证明它没有,而且IMO也是非常糟糕的经历.这不是我正在寻找的那种解决方案.我发布了大笔奖金,所以这可以正确解决!.我只是不能在生产质量的应用程序中有这种奇怪的UI行为.

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    [self.navigationController pushViewController:[UIViewController new] animated:NO];
    [self.navigationController popToRootViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

uinavigationbar uinavigationcontroller ios ios7

39
推荐指数
1
解决办法
6028
查看次数

识别点击导航栏标题

可能有人请帮助我认识一个水龙头,当用户点击该标题导航栏

我想识别这个tap,然后动画tableHeaderView出现.可能会向下滑动TableView.

这个想法是用户可以选择一个快速选项(来自tableViewHeader)来重新填充TableView.

但是我无法识别任何水龙头.

我正在使用Swift.

谢谢.

uinavigationcontroller ios uitapgesturerecognizer swift

39
推荐指数
6
解决办法
2万
查看次数