我想说我很享受向 iOS 7 的过渡,但感觉就像是一场又一场的战斗才能让应用程序再次正常运行。
我当前的问题是 uinavigationcontroller。它嵌入在选项卡控制器中。当用户开始向下钻取类别时,就会出现问题。后退按钮 V 形移动到导航栏的左上角,而实际的后退按钮保持固定在其正常位置。代码没有做任何操作。它只是推送和弹出视图控制器。
这是该问题的屏幕截图:
有没有人遇到过这个问题并且有任何想法我可以如何解决它?欢迎所有建议。
我想说我很享受向 iOS 7 的过渡,但感觉就像是一场又一场的战斗才能让应用程序再次正常运行。
我当前的问题是 uinavigationcontroller。它嵌入在选项卡控制器中。当用户开始向下钻取类别时,就会出现问题。后退按钮 V 形移动到导航栏的左上角,而实际的后退按钮保持固定在其正常位置。代码没有做任何操作。它只是推送和弹出视图控制器。
这是该问题的屏幕截图:
有没有人遇到过这个问题并且有任何想法我可以如何解决它?欢迎所有建议。
您是否更改了字体大小 - 这可能更改了导致位移的行高值?
最好选择自定义后退按钮,这样您就可以更好地控制展示位置。您可以将此代码段放在 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];
}