ios – 为什么将storyview添加到故事板中的导航栏会删除导航栏?

ios – 为什么将storyview添加到故事板中的导航栏会删除导航栏?,第1张

概述我有一个工作的应用程序,它是一个基于tabbarcontroller的应用程序.第一个viewcontroller是一个uitableviewcontroller.所有3个选项卡顶部都有一个导航栏,我从对象库中添加了导航栏.这就是应用程序的样子: 然后我想将导航栏上的图像设置为居中徽标.所以我环顾四周,发现代码看起来像这样: UIImage *image = [UIImage imageNamed 我有一个工作的应用程序,它是一个基于tabbarcontroller的应用程序.第一个vIEwcontroller是一个uitablevIEwcontroller.所有3个选项卡顶部都有一个导航栏,我从对象库中添加了导航栏.这就是应用程序的样子:

然后我想将导航栏上的图像设置为居中徽标.所以我环顾四周,发现代码看起来像这样:

UIImage *image = [UIImage imagenamed:@"icon57.png"]; UIImageVIEw *imageVIEw = [[UIImageVIEw alloc] initWithImage: image]; self.navigationItem.TitleVIEw = imageVIEw;

要么

[self.navigationController.navigationbar setBackgroundImage:[UIImage imagenamed:@"icon57.png"] forbarMetrics:UIbarMetricsDefault];

但它没有用.我刚买了一个空的白色导航栏.所以我决定通过从对象库中拖入它来将UIImageVIEw添加到导航栏但是由于某种原因它导致导航栏消失,我最终得到了这个:

为什么会这样?

解决方法 Interface Builder不支持您的方式.我鼓励你 file a radar支持这样做.您可以通过两种不同的方式实现此目的,一种是代码,另一种是IB.

通过Interface Builder

您可以从对象库中拖动UIVIEw实例并将其放入导航栏的中心.这将在栏的标题区域内设置视图.然后,您可以获取UIImageVIEw实例并将其添加为刚刚添加的视图的子视图.

通过代码

您可以使用视图控制器导航项的TitleVIEw属性通过代码设置UIImageVIEw:

- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    UIImage *logo = [UIImage imagenamed:@"logo.png"];    self.navigationItem.TitleVIEw = [[UIImageVIEw alloc] initWithImage:logo];}

编辑:

要将其设置在左侧,您必须将图像视图包装在UIbarbuttonItem中.您可以使用上述相同的步骤在IB中执行此 *** 作,或者在以下代码中执行此 *** 作:

- (voID)vIEwDIDLoad {    [super vIEwDIDLoad];    UIImage *logo = [UIImage imagenamed:@"logo.png"];    UIImageVIEw *imageVIEw = [[UIImageVIEw alloc] initWithImage:logo];        UIbarbuttonItem *imagebutton = [[UIbarbuttonItem alloc] initWithCustomVIEw:imageVIEw];    self.navigationItem.leftbarbuttonItem = imagebutton;}
总结

以上是内存溢出为你收集整理的ios – 为什么将storyview添加到故事板中的导航栏会删除导航栏?全部内容,希望文章能够帮你解决ios – 为什么将storyview添加到故事板中的导航栏会删除导航栏?所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1108713.html

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

发表评论

登录后才能评论

评论列表(0条)

保存