0

我想说我很享受向 iOS 7 的过渡,但感觉就像是一场又一场的战斗才能让应用程序再次正常运行。

我当前的问题是 uinavigationcontroller。它嵌入在选项卡控制器中。当用户开始向下钻取类别时,就会出现问题。后退按钮 V 形移动到导航栏的左上角,而实际的后退按钮保持固定在其正常位置。代码没有做任何操作。它只是推送和弹出视图控制器。

这是该问题的屏幕截图:

在此处输入图像描述

有没有人遇到过这个问题并且有任何想法我可以如何解决它?欢迎所有建议。

4

1 回答 1

0

您是否更改了字体大小 - 这可能更改了导致位移的行高值?

最好选择自定义后退按钮,这样您就可以更好地控制展示位置。您可以将此代码段放在 viewDidLoad

if ( [self.navigationController.viewControllers count] > 1 )
{
    UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    [backBtn setAdjustsImageWhenHighlighted:NO];
    [backBtn setShowsTouchWhenHighlighted:YES];
    [backBtn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
    UIImage *backBtnImage = [UIImage imageNamed:@"back.png"]; // <-- Use your own image
    [backBtn setImage:backBtnImage forState:UIControlStateNormal];
    [backBtn addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
    backBtn.frame = CGRectMake(0, 0, 40, 40);
    UIBarButtonItem *backBarBtnItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
    self.navigationItem.leftBarButtonItem = backBarBtnItem;
}

还要添加自定义后退按钮触摸事件的方法:

- (void)goBack
{
    [self.navigationController popViewControllerAnimated:YES];
}
于 2013-10-03T22:38:57.207 回答