我问,因为通常的答案,修改viewDidLayoutSubviews中的帧,不起作用 - 除非你在我的代码中发现错误.框架设置为正确的宽度和高度,但iOS 7不尊重框架.
目前,很久以前发布的应用程序看起来像这样,适用于iOS 6和7:https: //itunes.apple.com/se/app/eksjo/id435475192?mt = 8
重新编译给出了这个:https: //www.dropbox.com/s/pzyv2vhtlmlxkoe/Photo%202013-12-11%2009%2047%2030.png
-(void)viewWillAppear:(BOOL)animated { UIImageView *iv=[[UIImageView alloc] initWithFrame:r(320-102/2,0,102,44)]; iv.image=[UIImage imageNamed:@"Eksjologo5bar.png"]; self.navigationItem.titleView=iv; [iv release]; } -(void)viewDidLayoutSubviews { CGRect frame=self.navigationItem.titleView.frame; frame.size.width=102; frame.size.height=44; self.navigationItem.titleView.frame=frame; }
我想要做的就是在导航栏的中心放置一个徽标图像.我正在寻找viewWillAppear代码的最小代码更改来执行此操作并仍然与iOS 6.x兼容.
编辑:它也可能是iOS 6问题,而不是iOS 7问题.如果你能解释为什么它应该像这个问题那样解决,那就是我的问题的答案:我的UINavigationitem的TitleView在ios 6中得到了扩展