在我的应用程序中,我想在导航栏中添加图像(徽标).我正在研究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
我目前正在我的新故事板中显示一个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
我需要在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) 从一天到另一天,导航栏从我在XCode 4.6.2中的故事板项目中消失了.我无法恢复它们(清洁,重建,关闭,重新开放等)
在我的设备或模拟器上运行我的应用程序时,一切正常,导航栏就在那里.但是我在设计时在故事板上需要它们,我有按钮,标签那些必须现在改变.(请不要建议从代码中执行此操作,我想以图形方式在故事板上执行此操作,我认为这就是为什么它存在)
如何取回导航栏?我希望解决方案不会像我在某些地方读到的那样再删除/再做一遍,因为我有几十个导航控制器.
提前致谢!
我有一个带有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.第二个是逻辑显示的后退按钮.
我只想将第一个视图替换为另一个视图作为导航过程的开始.
当我使用pushViewController从导航控制器推送时, 如何在UIViewcontroller中隐藏顶部栏?有什么帮助吗?
我在UINavigationController中推送和弹出ViewControllers.
我正在跟踪我的应用程序的内存消耗.在推送新的viewController时,内存消耗逐渐增加,但是当我使用[self.navigationController popViewControllerAnimated:NO];内存消耗弹出相同的ViewController时,不会减少而是常量.
用户可以多次推送和弹出特定的viewController,这会导致应用程序在RAM中的高内存消耗.
我该怎么做才能优化我的内存消耗?
当我从导航控制器弹出顶视图控制器时,我目前需要实现一些代码.有没有办法检测视图控制器何时从导航控制器堆栈弹出?
我想尽可能地远离使用viewWillDisappear或viewDidDisappear因为我splitview在我的项目中使用a ,并且在主视图中选择不同的行也将触发viewWillDisappear/ viewDidDisappear方法.
cocoa-touch objective-c uiviewcontroller uinavigationcontroller ios
我有一个问题,我坚持,但我不知道为什么它会发生; 如果我在堆栈上推送一个细节控制器,并且我使用默认的左边缘快速向后滑动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)

可能有人请帮助我认识一个水龙头,当用户点击该标题在导航栏?
我想识别这个tap,然后动画tableHeaderView出现.可能会向下滑动TableView.
这个想法是用户可以选择一个快速选项(来自tableViewHeader)来重新填充TableView.
但是我无法识别任何水龙头.
我正在使用Swift.
谢谢.
ios ×7
iphone ×3
objective-c ×3
swift ×3
cocoa-touch ×1
ios7 ×1
memory-leaks ×1
replace ×1
root ×1
storyboard ×1
uiimage ×1
uikit ×1
uistoryboard ×1
xcode ×1