0

我正在尝试推送视图控制器并设置其导航栏的标题,但由于使用了长标题,我猜它没有居中。与此同时,后退按钮的范围会增加,直到标题视图,即如果我用里程碑的“M”点击,它会返回,尽管它的框架是相同的。

在此处输入图像描述

后退按钮的边界是相同的,但它的点击效果被拉长了。

在此处输入图像描述

下面是我如何推送视图控制器的代码。

 MilestoneDetailsViewController *controller = [[MilestoneDetailsViewController alloc] initWithNibName:@"MilestoneDetailsViewController" bundle:nil];
    [self.navigationController pushViewController:controller animated:YES];

在 MilestoneDetailsViewController 中,我将标题设置如下:

self.title = NSLocalizedString(@"Milestone Details", nil);
4

3 回答 3

2

后退按钮根据前一个 viewController 的标题来选择它的大小。例如,您可以将其更改为空字符串,例如,在您之前推送的 viewController 中编写此代码。

self.navigationItem.backBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@""
        style:UIBarButtonItemStylePlain
       target:nil
       action:nil];
于 2016-10-21T06:29:39.913 回答
0

尝试这个

    UIView *tView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width - 160 ,44)];

UILabel *bartitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 4, tView.frame.size.width, 40)];
[bartitleLabel setBackgroundColor:[UIColor clearColor]];
[bartitleLabel setTextAlignment:NSTextAlignmentCenter];
[bartitleLabel setAdjustsFontSizeToFitWidth:YES];
[bartitleLabel setText:NSLocalizedString(@"Milestone Details!",@"")];
[self.navigationItem setTitle:@""];

[tView addSubview:bartitleLabel];
[tView setBackgroundColor:[UIColor clearColor]];

[self.navigationItem setTitleView:tView];
于 2016-10-21T06:33:46.667 回答
0

像这样试试

UILabel* lbNavTitle = [[UILabel alloc] initWithFrame:CGRectMake(0,40,320,40)];
lbNavTitle.textAlignment = UITextAlignmentCenter;
lbNavTitle.text = NSLocalizedString(@"Milestone Details!",@"");
self.title = lbNavTitle // here self.title is your navigation bar title
于 2016-10-21T06:23:18.100 回答