首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ios7导航栏:使用自定义按钮回放动画时出现3个奇怪的点

ios7导航栏:使用自定义按钮回放动画时出现3个奇怪的点
EN

Stack Overflow用户
提问于 2014-10-10 17:27:17
回答 6查看 3.4K关注 0票数 15

我想使用反向导航动画,使用

代码语言:javascript
复制
[self.navigationController popViewControllerAnimated:YES] 

并将自定义按钮添加到导航栏。

因为我不想让人看到后退按钮,所以我用self.navigationItem.hidesBackButton = YES;将其隐藏起来

但在后面的动画中,在ios7 (而不是ios6)导航栏中可以看到3个点在滑动。它们不会随self.navigationItem.hidesBackButton = NO;一起出现,但当然可以看到按钮。

有没有人有办法让他们不露面?

EN

回答 6

Stack Overflow用户

发布于 2015-06-19 22:21:26

如果您设置了

代码语言:javascript
复制
self.navigationItem.hidesBackButton = YES

iOS有时会在其通用后退按钮内生成三个点。我解决了这个问题,将通用后退按钮上的文本设置为空,然后创建了我的自定义按钮。下面是我设置空文本的方法:

代码语言:javascript
复制
UIBarButtonItem *backButton2 = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton2;

然后,我创建了我的自定义UIButton,并将其放在我想要的位置,如下所示:

代码语言:javascript
复制
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];
票数 9
EN

Stack Overflow用户

发布于 2014-10-10 17:38:01

不需要隐藏backButton,您只需添加自定义后退按钮,它将隐藏默认按钮。

代码语言:javascript
复制
- (void) viewDidLoad
{
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(handleBack:)];
    self.navigationItem.leftBarButtonItem = backButton;
}

- (void) handleBack:(id)sender
{
    [self.navigationController popViewControllerAnimated:YES];
}
票数 2
EN

Stack Overflow用户

发布于 2015-10-21 21:13:07

只需在viewWillAppear方法中添加以下行:

Swift:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil) self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)

目标C:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

就这样

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26296114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档