iphone – 导航栏上的titleview在segues之后的视图中不可见

iphone – 导航栏上的titleview在segues之后的视图中不可见,第1张

概述我正在制作一个iPhone应用程序,并希望在导航栏的titleview位置显示一个徽标.我已经创建了UINavigationController的子类,并在viewDidLoad中添加了以下行: self.navigationBar.topItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"titlel 我正在制作一个iPhone应用程序,并希望在导航栏的TitlevIEw位置显示一个徽标.我已经创建了UINavigationController的子类,并在vIEwDIDLoad中添加了以下行:

self.navigationbar.topItem.TitleVIEw = [[UIImageVIEw alloc] initWithImage:[UIImage imagenamed:@"Title@R_419_6192@.png"]];

(这似乎只是浪费一条线,但我在多个地方使用它,我不想出于各种原因使用[UINavigationbar外观])

这适用于导航控制器的直接孩子 – 我看到了徽标.但是,当我将segue推到另一个视图时,徽标不会延续,即使它们(据我所知)是“相同”导航控制器的一部分.

(供参考) – > MyNavigationController – > SomeVIEwController – > SomeOtherVIEwController

我也尝试使用以下命令进入SomeOtherVIEwController的vIEwDIDLoad:

self.navigationController.navigationbar.topItem.TitleVIEw = [[UIImageVIEw alloc] initWithImage:[UIImage imagenamed:@"Title@R_419_6192@.png"]];

这仍然没有显示徽标.

经过一番探讨,我发现如果1)我在导航控制器的vIEwDIDLoad中没有该行,2)我在SomeOtherVIEwController的vIEwDIDLoad中有第二行,那么:

开始:查看SomeVIEwController.没有标志.
点击推送segue:徽标现在出现在SomeVIEwController的栏上,然后消失.
我现在正在查看SomeOtherVIEwController:它没有徽标.
单击返回:SomeVIEwController的导航栏仍然具有徽标.

显然我误解了导航控制器的工作原理.谁能告诉我如何解决这个问题?

解决方法 如果我理解正确你也可以用另一种方法来做,只需用图像替换整个Navigationbar?在那里你可以放置你的图标.

因为改变整个Navigationbar非常容易.

if ([self.navigationbar respondsToSelector:@selector( setBackgroundImage:forbarMetrics:)]) {  [self.navigationbar setBackgroundImage:[UIImage imagenamed:@"navigationbar.png"] forbarMetrics:UIbarMetricsDefault];}

您需要将此代码放在NavigationController的vIEwDIDLoad方法中.然后它也应该在VIEwControllers中工作,你可以推送NavigationController的堆栈.

总结

以上是内存溢出为你收集整理的iphone – 导航栏上的titleview在segues之后的视图中不可见全部内容,希望文章能够帮你解决iphone – 导航栏上的titleview在segues之后的视图中不可见所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1042061.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存