我想使用后退导航动画
[self.navigationController popViewControllerAnimated:YES]
将自定义按钮添加到导航栏。
因为我不想让后退按钮被看到,所以我用 self.navigationItem.hidesBackButton = YES;
但在返回动画期间,在 ios7(不是 ios6)上可以看到 3 个点在导航栏中滑动。
它们不会以 self.navigationItem.hidesBackButton = NO; 出现,但当然可以看到按钮。
有没有人有办法让他们不出现?
最佳答案
如果你设置
self.navigationItem.hidesBackButton = YES
iOS 有时会在其通用后退按钮内生成三个点。 我通过将通用后退按钮上的文本设置为空解决了这个问题,然后我创建了我的自定义按钮。这是我设置空文本的方式:
UIBarButtonItem *backButton2 = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton2;
然后我创建了自定义 UIButton 并将其放置在我想要的位置,如下所示:
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(5, 70/2-22, 44, 44)];
[backButton setImage:[[UIImage imageNamed:@"back_button.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
backButton.tintColor = tintColor;
backButton.imageEdgeInsets = UIEdgeInsetsMake(-2, -15, 0, 0);
[backButton addTarget:self action:@selector(popCurrentViewController) forControlEvents:UIControlEventTouchUpInside];
关于ios7导航栏: 3 strange dots appearing when back animation with custom button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26296114/