我在项目中要求UINavigationBar Back按钮永远不会包含文本,它应该只是一个左箭头。
默认情况下,iOS会在那里插入前一个控制器的标题。有什么方法可以阻止整个应用程序发生这种情况吗?
(我知道我可以通过屏幕来完成这个屏幕,但是我正在开发一个有很多屏幕的现有应用程序,这将是一个很大的工作)
答案 0 :(得分:1)
您始终可以将箭头图像设置为导航栏的左侧栏按钮
// ADDING IMAGE TO BUTTON
UIButton *refreshButton = [UIButton buttonWithType:UIButtonTypeCustom];
[refreshButton setFrame:CGRectMake(0,0,30,30)];
[refreshButton setImage:[UIImage imageNamed:@"arrow_image.png"] forState:UIControlStateNormal];
refreshButton.userInteractionEnabled=NO;
// ASSIGNING THE BUTTON WITH IMAGE TO LEFT BAR BUTTON
UIBarButtonItem *refreshBarButton = [[[UIBarButtonItem alloc] initWithCustomView:refreshButton] autorelease];
self.navigationItem.leftBarButtonItem = refreshBarButton;
您必须在每个视图控制器中写入此内容才能禁用默认左栏按钮。
答案 1 :(得分:0)
你不能阻止它在整个应用程序中发生,你必须在每个控制器中手动设置它。您可以在UIViewController上使用一个类别,并在每个控制器中调用该方法,这将使您获得一行代码,如果您更改方法,则不必更改。我知道,还是糟透了。此外,如果您这样做,您可能会遇到Apple问题。我们在我们的一个应用程序中尝试过,当我在WWDC '13向苹果公司展示时,他们告诉我,如果我以这种方式提交,他们会拒绝该应用程序。 YMMV